Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस त्रुटि हुई त्रुटि संख्या:1062

आपका 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 . पर सेट करने की आवश्यकता है आरंभ करने के लिए (इस मामले में, क्या पंक्ति को हटाना अधिक लाभदायक होगा?)




  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 उस तालिका से विशिष्ट प्रविष्टि का चयन करता है जो किसी अन्य तालिका में नहीं है

  2. अभी () फ़ंक्शन में 6 घंटे जोड़ें

  3. अलग कैसे चुनें *

  4. SQLite अनुरोध में strftime को MySQL में कनवर्ट करें

  5. कोल्डफ्यूजन एक क्वेरी को पैरामीटरेट करना