Mysql将具有特定列和unix时间戳的所有行从一个表复制到另一个表

时间:2015-05-04 18:11:15

标签: php mysql

我目前正在每天将所有行从Table1复制到Table2。表2是Table1每天包含的7天存档。平均每天有150,000行可以移动。

表1

id | name | category | image | description | link

表2

id | name | link | date

为此,我使用PHP选择Table1中的所有行:

SELECT name, category, link FROM Table1

然后我遍历每一个并将其插入Table2:

INSERT INTO Table2 SET name = ''.$row["name"].'', link = ''.$row["link"].'', date = time()

time()作为int(11)存储在数据库中。任何人都可以建议是否有更好或更有效的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用INSERT INTO SELECT而非循环:

INSERT INTO Table2(name,link,date)
SELECT name, link, UNIX_TIMESTAMP() FROM Table1