आपका UPDATE
क्लॉज id_publisher
सेट कर रहा है कॉलम से NULL
, और, कॉलम के नाम और आपको प्राप्त होने वाली त्रुटि के आधार पर, कि कॉलम तालिका की PRIMARY KEY
है unsigned NOT NULL
. की सेटिंग के साथ ।
इस वजह से, जब आप id_publisher = NULL
करते हैं , MySQL इसे id_publisher = 0
. में बदल देता है unsigned
. के कारण अंश। यह पहली बार ठीक से निष्पादित होगा, हालांकि, जब आप इसे दूसरी पंक्ति पर चलाते हैं तो अब आप एक सेकंड डालने का प्रयास करेंगे। 0
. का प्राथमिक-कुंजी मान , जिसकी अनुमति नहीं है।
die()
. के स्थान के आधार पर आपके नमूना कोड में कथन, मुझे लगता है कि निम्नलिखित ब्लॉक अपराधी है:
$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);
यहां, आपका $id_publis
चर या तो खाली है या शून्य है।
मेरा सुझाव है कि या तो id_publisher = NULL
को हटा दें UPDATE
. से अंश खंड जो हटाने जितना आसान है 'id_publisher' => $id_publis,
$data1
. से सरणी, या उस कारण पर पुनर्विचार करें जिसकी आपको वास्तव में इसे null
. पर सेट करने की आवश्यकता है आरंभ करने के लिए (इस मामले में, क्या पंक्ति को हटाना अधिक लाभदायक होगा?)