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

Entri duplikat '0' untuk kunci 'PRIMARY'

Ini terjadi ketika Anda memiliki kunci utama tetapi tidak memberikan nilai inisialisasi. Sisipan itu sendiri yang menyebabkan duplikasi.

Dalam kasus Anda, dua kemungkinan muncul di benak Anda:

  1. supp_id adalah kunci utama dan dideklarasikan sebagai angka. Dalam versi MySQL yang lebih lama, saya pikir nilai string secara diam-diam dikonversi ke angka. Karena karakter utama adalah huruf, maka nilainya adalah 0.

  2. Anda memiliki id lain bidang yang merupakan kunci utama, tetapi tidak diberi nilai dan tidak dideklarasikan auto_increment .

EDIT:

Saya menduga Anda menginginkan kode berikut:

CREATE TABLE suppliers (
    supplierId int NOT NULL auto_increment primary key,
    supp_name varchar(255) unique,
    company_name varchar(15) NOT NULL,
    town varchar(15),
    phone varchar(15)
);

INSERT INTO Suppliers(supp_name, company_name, town, phone)
    Values ('ADT217', 'AdTec', 'Birmingham', '0121-368-1597'),
           ('CPS533', 'CPS', 'Maidenhead', '01382-893715'),
           ('FCL162', 'ForComp Ltd', 'Nottingham', '01489-133722'),
           ('KBC355', 'KBC Computers', 'Glasgow', '0141-321-1497');

Beberapa catatan:

  • Biasanya Anda ingin varchar() daripada char() , kecuali jika Anda sangat menyukai banyak spasi di akhir string.
  • Saya menambahkan nama pemasok unik ke tabel dan menyatakan id sebagai auto_increment .
  • Kutipan tunggal adalah standar ANSI untuk konstanta string. MySQL (dan beberapa database lainnya) mengizinkan tanda kutip ganda, tetapi tidak ada alasan untuk tidak menggunakan standar.


  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 tidak memperlakukan seperti saya?

  2. Bagaimana cara mengikat datatable ke runtime reportviewer

  3. Isi Datagridview dengan data MySQL

  4. SYSDATE() vs NOW() di MySQL:Apa Bedanya?

  5. jumlah catatan mysql di kursor tanpa iterasi?