1

我有 table1,table2 => 所有字段都是相同的,除了 table2 两个有一个额外的字段,它是 table1 的 FK

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

所以 tid = table1 id。

我需要将一行从表 1 复制到表 2,所以表 2 基本上是表 1 的备份。我可以使用 mysql,然后是 php,然后再次使用 mysql 我想知道你是否可以在 mysql 上有一个更简单的解决方案:)

希望不要太复杂

4

2 回答 2

1

如果要将每一行复制table1到中table2,可以执行以下操作:

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

如果table2不为空,您可以添加一个ON DUPLICATE KEY...子句来处理冲突。

编辑

如果你只想复制一行,你可以添加一个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 回答