sql >> Database >  >> RDS >> Mysql

Hoe de primaire sleutel automatisch verhogen op basis van een kolomvolgorde?

Merk op dat de MySQL-tabel slechts één kolom kan hebben met AUTO_INCREMENT attribuut.

Ervan uitgaande dat de tabel geen primaire sleutel heeft :

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;

Ervan uitgaande dat de tabel al een NIET-verhoogde primaire sleutel heeft :

Laat gewoon de PRIMARY . weg trefwoord in het vierde commando.



  1. mysql-resultatenset is altijd null

  2. Mysql-wachtwoord verlopen. Kan geen verbinding maken

  3. [Video] Inleiding tot JSON-gegevenstypen in PostgreSQL

  4. Een-op-nul-of-een-relatie implementeren in SQL Server