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

MySQL 1062 - Дублиран запис "0" за ключ "PRIMARY"

Трябва да посочите първичния ключ като автоматично увеличение

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$$

По отношение на коментара по-долу, какво ще кажете за:

ALTER TABLE `momento_distribution`
  CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT,
  DROP PRIMARY KEY,
  ADD PRIMARY KEY (`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. MySQL се присъединява с клауза where

  3. Поправете „ГРЕШКА 1136 (21S01):Броят на колоните не съвпада с броя на стойностите на ред 1“ при вмъкване на данни в MySQL

  4. Дублиране на MySQL таблица, индекси и данни

  5. Как да използвам подготвени изявления на mysqli?