Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL 1062 - Entri duplikat '0' untuk kunci 'PRIMARY'

Anda perlu menentukan kunci utama sebagai peningkatan otomatis

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

Berkenaan dengan komentar di bawah, bagaimana dengan:

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

KUNCI UTAMA adalah indeks unik, jadi jika berisi duplikat, Anda tidak dapat menetapkan kolom menjadi indeks unik, jadi Anda mungkin perlu membuat kolom baru sama sekali



  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 - SELECT WHERE field IN (subquery) - Mengapa sangat lambat?

  2. File PHP tidak dapat memasukkan beberapa bagian kode

  3. Cara menentukan versi MySQL

  4. kesalahan runtime:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

  5. Apakah ada alasan untuk khawatir tentang urutan kolom dalam tabel?