Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL 1062 - Zduplikowany wpis '0' dla klucza 'PRIMARY'

Musisz określić klucz podstawowy jako autoinkrementację

CREATE TABLE `momento_distribution`
  (
     `momento_id`       INT(11) NOT NULL AUTO_INCREMENT,
     `momento_idmember` INT(11) NOT NULL,
     `created_at`       DATETIME DEFAULT NULL,
     `updated_at`       DATETIME DEFAULT NULL,
     `unread`           TINYINT(1) DEFAULT '1',
     `accepted`         VARCHAR(10) NOT NULL DEFAULT 'pending',
     `ext_member`       VARCHAR(255) DEFAULT NULL,
     PRIMARY KEY (`momento_id`, `momento_idmember`),
     KEY `momento_distribution_FI_2` (`momento_idmember`),
     KEY `accepted` (`accepted`, `ext_member`)
  )
ENGINE=InnoDB
DEFAULT CHARSET=latin1$$

Jeśli chodzi o komentarz poniżej, co powiesz na:

ALTER TABLE `momento_distribution`
  CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT,
  DROP PRIMARY KEY,
  ADD PRIMARY KEY (`id`);

KLUCZ PODSTAWOWY jest unikalnym indeksem, więc jeśli zawiera duplikaty, nie można przypisać kolumny jako unikalnego indeksu, więc może być konieczne utworzenie nowej kolumny



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Nieprawidłowe użycie funkcji grupy

  2. Błąd? #1146 — Tabela „xxx.xxxxx” nie istnieje

  3. Jak uciec % z zapytania mysql w Pythonie?

  4. Jak wypełnić brakujące daty w MySQL?

  5. Zachowaj podziały wierszy z TextArea podczas pisania w MySQL