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

$ wpdb-> insert tạo ra Mục nhập trùng lặp '0-0' cho Khóa '1'

Về lý do tại sao nó không hoạt động:không đặt tham số thứ ba của $wpdb->insert thành chuỗi rỗng. Nó định dạng mọi trường cho phù hợp ..

Những gì nó làm bây giờ tương đương với:

$wpdb->insert($table, array(
            'object_id' => sprintf('', $num_object_id), 
            'term_taxonomy_id' => sprintf('', $num_taxo_id),
            'term_order' => sprintf('', 0)
));

Nếu bạn thực sự muốn đặt thông số thứ ba, bạn nên làm:

$wpdb->insert($table, array(
            'object_id' => $num_object_id, 
            'term_taxonomy_id' => $num_taxo_id,
            'term_order' => 0
), array('%d', '%d', '%d'));

Đối với lỗi:bảng wp_term_relationships có một khóa chính duy nhất trên (object_id, term_taxonomy_id). Điều này có nghĩa là bạn không thể có hai hàng trong bảng có cả object_id và term_taxonomy_id giống nhau.

Mặc dù điều này đã xảy ra vì bằng cách đặt tham số thứ ba của chèn thành chuỗi trống, bạn đang cố gắng chèn các hàng có object_id =0 và term_taxonomy_id =0 nhiều lần.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. điền các hộp kiểm và sau đó cập nhật lựa chọn thành mysql

  2. Các mục tìm kiếm và hiển thị trang web PHP

  3. Đếm ngày trong phạm vi ngày?

  4. Truy vấn MySQL khớp với hai trường và có một trường khác chung

  5. không thể hiển thị biểu tượng nhãn hiệu trong mysql sang html