0

Excelファイルを使用してタグのカスタムリストを追加しようとしていますが、ほとんどの作業は完了しています。しかし、2つの異なるテーブル列に同じ値を追加するにはどうすればよいか混乱しています。

私は値を挿入しました

INSERT INTO `steve`.`wp_terms` (`term_id`, `name`, `slug`, `term_group`) VALUES (NULL, 'tag99', 'tag99', '0');

INSERT INTO `steve`.`wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES (NULL, '21', 'post_tag', '', '0', '0');

今、両方のテーブルにterm_idを追加したい..どうすればそれができるか教えてもらえますか?

ANDterm_idはデータベース生成値です。

4

3 に答える 3

1
INSERT INTO `steve`.`wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES (NULL, LAST_INSERT_ID, 'post_tag', '', '0', '0');

最初のクエリがテーブルに挿入され、そのレコードの新しい ID が作成された場合、次のクエリでその ID を使用して別のテーブルに挿入する必要がありますか? その場合、term_id 値に LAST_INSERT_ID を使用して、上記のクエリが 2 番目のクエリで機能するはずです。

新しいコードで質問を更新するには、これを使用する必要があることを強調します。

 $sql2 = "INSERT INTO " . $table2 . " (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES (NULL, LAST_INSERT_ID, 'post_tag', '', '0', '0')";

        $wpdb->query($sql);
        $wpdb->query($sql2);

上記の方法では、最初のクエリを実行する前に上書きしています。

また、自動インクリメント フィールドに null を挿入する方法がわかりません。それだけでエラーが発生するはずです。正直なところ、両方のクエリは、次のようにクエリからベース ID (自動インクリメント ID) を完全に除外する必要があります。

$sql2 = "INSERT INTO" . $table2 . " ( term_id, taxonomy, description, ) 値 (LAST_INSERT_ID, 'post_tag', '', '0', '0')" parent;count

于 2012-10-31T13:52:54.290 に答える
1

mysql_insert_id()を使用する

mysql_query("INSERT INTO `steve`.`wp_terms` (`term_id`, `name`, `slug`, `term_group`) VALUES (NULL, 'tag99', 'tag99', '0')");

$lastInsertId = mysql_insert_id();

mysql_query("INSERT INTO `steve`.`wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES (NULL, '" . $lastInsertId . "', 'post_tag', '', '0', '0')");

注: mysql_insert_id() を使用するには、term_idinwp_termsを自動インクリメントに設定する必要があります。

于 2012-10-31T14:10:05.453 に答える
0

ALTERテーブルを使用し、その列の定義/制約を他のテーブルに追加する必要があります。ここにマニュアルがあります

于 2012-10-31T13:47:58.930 に答える