Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да актуализирам таблица, за да добавя първичен ключ и да актуализирам всички съществуващи редове с увеличени идентификатори?

След добавяне на нова колона с идентификационен номер (все още не задавайте като първичен ключ и не включвайте автоматично увеличение), изпълнете:

SET @index = 1;
UPDATE tablename SET ID = (@index:[email protected]+1);

Това задава нарастваща стойност на идентификатора, започваща от 1 на всеки от съществуващите ви редове, като по този начин решава проблема с дублирания ключ, с който бихте се сблъскали, ако се опитате да вмъкнете нова колона с първичен ключ, след като данните вече са въведени.

След като това стане, можете да зададете колоната ID като първичен ключ с автоматично увеличение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на чужди ключове за замяна на ограничението за проверка

  2. PHP не може да разреши името на контейнера mysql при определени обстоятелства

  3. MySQL Невалидна заявка:Твърде високо ниво на влагане за избор

  4. sql::SQLString поведение

  5. Все пак да се ограничи времето за изпълнение на MySQL заявка?