sql >> Database teknologi >  >> RDS >> Mysql

Hvordan tilføjer man automatisk inkrementering af primær nøgle baseret på en rækkefølge af kolonne?

Bemærk, at MySQL-tabel kun kan have én kolonne med AUTO_INCREMENT attribut.

Forudsat at tabellen ikke har en primær nøgle :

ALTER TABLE table_name ADD COLUMN new_id INT NOT NULL;
SET @x = 0;
UPDATE table_name SET new_id = (@x:[email protected]+1) ORDER BY whateveryouwant ASC;
ALTER TABLE table_name ADD PRIMARY KEY new_id (new_id);
ALTER TABLE table_name CHANGE new_id new_id INT NOT NULL AUTO_INCREMENT;

Forudsat at tabellen allerede har en IKKE-inkrementeret primær nøgle :

Bare udelad den PRIMARY nøgleord i den fjerde kommando.



  1. GTT-tabelstatistik og SYS.WRI$_OPTSTAT_TAB_HISTORY

  2. Psycopg2 bruger hukommelse på store udvalgte forespørgsler

  3. Bogen "PostgreSQL 9.0 High Performance" er ude

  4. mysql vælg forespørgsel hvor dato =... returnerer ikke data