创建表mysql的副本

时间:2013-05-19 22:27:36

标签: php insert

我正在尝试使用下面的代码创建表的副本。如果他们都有相同的列,一切都很好。我的table1有2列(id,用户名),而table2有3列(id,username,date)。我的目标是创建table1 WHERE table1的副本.id = $ id并在其中插入date。有人能引导我吗?

INSERT table2 SELECT * FROM table1 WHERE table1。id = $ id

3 个答案:

答案 0 :(得分:0)

示例

Table1 is ID,Name,DateAdded
Table2 is Name,ID,DateOriginallyAdded,SomeOtherColumn

查询将是

Insert Table2(Name,ID,DateOriginallyAdded) Select Name,ID,DateAdded From Table1 Where ...

指定两组列,您可以使用

Insert Table2 Select Name,ID,DateAdded,Null From Table1 Where ...

Insert Table2(ID,Name,DateOriginallyAdded) Select * From Table1 Where ...

但它可能导致一些令人讨厌的错误。

答案 1 :(得分:0)

听起来像你正在寻找表2的左联接日期到表1只有ids匹配...首先运行此查询,你应该看到它为你选择合适的结果集:

SELECT table1.*, table2.date
FROM table1
LEFT JOIN table2
ON table1.id = table2.id

然后您可以根据需要导出或插入该结果集作为table1的新副本

答案 2 :(得分:0)

看看"INSERT INTO",我怀疑你在找这样的东西?

INSERT INTO table2 (id, username)
SELECT id,username FROM table1