1

私はtable1、table2 =>を持っていますが、table2 2にはtable1のFKである追加のフィールドがあることを除いて、すべてのフィールドは同じです。

**table1** *ID*,content,status
**table2** *ID*,content,status,tid

したがって、tid =table1idです。

table1からtable2に行をコピーする必要があるため、基本的にtable2はtable1のバックアップになります。私はmysql、次にphp、そしてmysqlを使用してそれを行うことができます。mysqlでもっと簡単な解決策があるかどうか疑問に思いました:)

それほど複雑ではないことを願っています

4

2 に答える 2

1

すべての行をにコピーする場合はtable1table2次のように実行できます。

INSERT INTO table2 (id, content, status, tid)
  SELECT id, content, status, id FROM b;

table2が空でない場合はON DUPLICATE KEY...、衝突を処理する句を追加できます。

編集

1行だけをコピーする場合は、次のWHERE句を追加できます。

INSERT INTO table2 (id, content, status, tid) 
  SELECT id, content, status, id FROM b WHERE id=123;
于 2011-04-05T13:43:27.620 に答える
0
INSERT INTO table2 (content, status, tid) SELECT content, status, ID FROM table1
于 2011-04-05T13:44:18.220 に答える