Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Số lỗi xảy ra với cơ sở dữ liệu:1062

UPDATE của bạn mệnh đề đang đặt id_publisher cột thành NULL và, dựa trên tên của cột và lỗi bạn đang nhận được, that PRIMARY KEY của bảng với cài đặt unsigned NOT NULL .

Do đó, khi bạn làm id_publisher = NULL , MySQL chuyển đổi nó thành id_publisher = 0 do unsigned phần. Điều này sẽ thực thi tốt trong lần đầu tiên, tuy nhiên, khi bạn chạy nó trên hàng thứ hai, bây giờ bạn sẽ cố gắng chèn một giây giá trị khóa chính của 0 , điều này không được phép.

Dựa trên vị trí của die() trong mã mẫu của bạn, tôi giả sử khối sau là thủ phạm:

   $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);

Đây, $id_publis của bạn biến trống hoặc rỗng.

Tôi khuyên bạn nên xóa id_publisher = NULL phần từ UPDATE mệnh đề đơn giản như xóa 'id_publisher' => $id_publis, từ $data1 hoặc suy nghĩ lại lý do bạn thực sự cần đặt nó thành null để bắt đầu (trong trường hợp này, xóa hàng có lợi hơn không?)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng python mysqldb để chèn nhiều hàng cùng một lúc

  2. MySQL:Tại sao điểm luôn là 1 trong Fulltext?

  3. Tìm kiếm mảng Php / MySql với, š, é, ë, ú, ü, í, ž

  4. tải xuống các giá trị của bảng sql để sử dụng lại ngoại tuyến

  5. MySQL INSERT - Tên trường có yêu cầu dấu gạch ngang / dấu phân cách không?