UPDATE
. Anda klausa sedang mengatur id_publisher
kolom ke NULL
, dan, berdasarkan nama kolom dan kesalahan yang Anda terima, bahwa kolom adalah PRIMARY KEY
tabel dengan pengaturan unsigned NOT NULL
.
Karena itu, ketika Anda melakukan id_publisher = NULL
, MySQL mengonversinya menjadi id_publisher = 0
karena unsigned
bagian. Ini akan berjalan dengan baik pertama kali, namun, ketika Anda menjalankannya di baris kedua, Anda sekarang akan mencoba memasukkan kedua nilai kunci utama 0
, yang tidak diperbolehkan.
Berdasarkan lokasi die()
pernyataan dalam kode sampel Anda, saya berasumsi blok berikut adalah pelakunya:
$data1 = array(
'id_publisher' => $id_publis,
'publisher' => $publis,
'artis' => $ar,
'id_label' => $id_lab);
$this->db->where('id_publisher', $this->input->post('id'), $data);
$this->db->update("t_publisher",$data1);
Di sini, $id_publis
your Anda variabel kosong atau nol.
Saya akan menyarankan untuk menghapus id_publisher = NULL
bagian dari UPDATE
klausa yang sesederhana menghapus 'id_publisher' => $id_publis,
dari $data1
array, atau pikirkan kembali alasan Anda sebenarnya perlu menyetelnya ke null
untuk memulainya (dalam hal ini, apakah menghapus baris akan lebih bermanfaat?)