Mysql
 sql >> база данни >  >> RDS >> Mysql

$wpdb->insert създава дублиран запис '0-0' за ключ '1'

Що се отнася до това защо не работи:не задавайте трети параметър на $wpdb->insert към празен низ. Той форматира съответно всяко поле..

Това, което прави сега, е еквивалентно на:

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

Ако наистина искате да зададете трети параметър, трябва да направите:

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

Що се отнася до грешката:таблицата wp_term_relationships има уникален първичен ключ на (object_id, term_taxonomy_id). Това означава, че не можете да имате два реда в тази таблица, които имат едновременно object_id и term_taxonomy_id.

Въпреки че това се е случило, защото като зададете трети параметър на вмъкване на празен низ, вие се опитвате да вмъкнете редове с object_id=0 и term_taxonomy_id=0 отново и отново.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. намерете последователна транзакция в рамките на 10 минути

  2. Как да импортирате една таблица в mysql база данни с помощта на командния ред

  3. Как да импортирате данни от mysql в solr

  4. Вмъкването на JPA родител/подчинение води до изключение на MySQLIntegrityConstraintViolationException

  5. Средни публикации на час в MySQL?