php - 报错 1062:Entri pendua '4294967295' untuk kunci 'PRIMER'
漂亮男人2017-06-17 09:15:21
0
3
1116
Data dalam pangkalan data saya hanya mempunyai ratusan ribu entri Kunci utama adalah int 11. Kemudian saya boleh memasukkannya, tetapi sekarang saya akan mendapat ralat ini Sila jawab
Saiz akhir nilai yang disimpan dalam int(11) dan int(3) adalah sama 3 dan 11 ialah panjang nombor apabila dipaparkan pada terminal, dan tiada kaitan dengan saiz dan panjang. nombor yang disimpan
Dengan 110,000 data, kunci utama anda tidak boleh saiz langkah tambah 1, atau id anda mungkin tidak bermula daripada penambahan 0.
Orang di atas telah menerangkan sebabnya dengan jelas, mengatakan bahawa nilai kunci utama diduakan kemudian pergi ke pangkalan data untuk mencari rekod ini dahulu, dan kemudian lihat data lebih daripada 100,000, mengapa kunci utama ialah 4294967295
Ini adalah kunci pendua, cuba ini, ia tidak dijamin berfungsi... langkah 1: pilih maks(medan_kunci_utama anda) daripada nama_jadual anda langkah 2: UBAH JADUAL nama_jadual anda AUTO_INCREMENT = nilai_u_dapat_dari_langkah1;
Peningkatan automatik id telah mencapai had atas Jika anda memasukkan data sekali lagi, anda hanya boleh memasukkan nilai id ini, jadi akan berlaku percanggahan sahaja kepada jenis bigint nilai ini. Anda perlu menyemak Peraturan dan logik perniagaan anda, jika tidak, had akan dicapai dengan cepat mengikut kelajuan anda
Mula-mula mari kita jelaskan beberapa konsep
Saiz akhir nilai yang disimpan dalam int(11) dan int(3) adalah sama 3 dan 11 ialah panjang nombor apabila dipaparkan pada terminal, dan tiada kaitan dengan saiz dan panjang. nombor yang disimpan
Dengan 110,000 data, kunci utama anda tidak boleh saiz langkah tambah 1, atau id anda mungkin tidak bermula daripada penambahan 0.
Orang di atas telah menerangkan sebabnya dengan jelas, mengatakan bahawa nilai kunci utama diduakan kemudian pergi ke pangkalan data untuk mencari rekod ini dahulu, dan kemudian lihat data lebih daripada 100,000, mengapa kunci utama ialah 4294967295
Ini adalah kunci pendua, cuba ini, ia tidak dijamin berfungsi...
langkah 1: pilih maks(medan_kunci_utama anda) daripada nama_jadual anda
langkah 2: UBAH JADUAL nama_jadual anda AUTO_INCREMENT = nilai_u_dapat_dari_langkah1;
Peningkatan automatik id telah mencapai had atas Jika anda memasukkan data sekali lagi, anda hanya boleh memasukkan nilai id ini, jadi akan berlaku percanggahan sahaja kepada jenis bigint nilai ini. Anda perlu menyemak Peraturan dan logik perniagaan anda, jika tidak, had akan dicapai dengan cepat mengikut kelajuan anda