5

1 つのクエリの作成に問題があります。たとえば、次のようなフィールド id と name を持つテーブルがあります

ID | Name
---+------
1  | John 
2  | Ben
3  | Bob

フィールド name と somefield を持つ 2 番目のテーブル。最初のテーブルのデータを使用してこのテーブルにデータを入力する必要があるため、次のようになります

name | somefield
-----+-----------
John | blah=1
Ben  | blah=2
Bob  | blah=3

したがって、name の値は最初のテーブルの名前であり、somefield の値は blah=+1 番目のテーブルの id 値のようなフレーズです。これは mysql だけで可能ですか? ループとwp wpdbクラスを使用してこれを実行しようとしましたが、wpdbは〜30行ごとにいくつかのmalloc(と思う)エラーをスローし続けました

4

3 に答える 3

2
INSERT INTO table2 SELECT Name,CONCAT('blah=',ID) FROM table1;
于 2012-08-02T18:47:44.017 に答える
1

これはそれほど難しいことではありません。ループは必要ありません。次のINSERT SELECTステートメントを使用するだけです。

INSERT INTO table2(name, somefield)
SELECT name, CONCAT('blah=', id')
FROM table1
于 2012-08-02T18:51:49.447 に答える
1
insert into second_table select Name, concat('blah=', ID) from first_table;

警告: この操作はfirst_table、操作中はロックされます。レプリケーション中の一貫性を保証するために、MySQL はこれを行う必要があります。これは、1 回限りのデータ生成には許容される場合がありますが、トラフィックの多い実稼働システムで定期的に実行することはおそらくお勧めできません。

于 2012-08-02T18:49:05.407 に答える