SQL INSERT ... SELECT与自动递增DATETIME

时间:2012-10-07 10:42:07

标签: mysql

我有两个具有以下结构的表:

userid, entrydatetime, record.

tableA - 主键(userid, entrydatetime)

tableB - 没有设置约束。

我正在尝试做一个

INSERT INTO tableA SELECT * FROM tableB

但我收到错误,因为tableB具有相同的useridentrydatetime

e.g。 userid ='12345'和entrydatetime ='0000-00-00 00:00:00'。

我需要tableB的主要数据是userid并记录。对于这种情况,entryDateTime对我来说不那么重要。

如何在保留tableA主键约束的情况下合并我的两个表?有没有办法可以随机化或自动增加插入的entrydatetime字段?

1 个答案:

答案 0 :(得分:2)

您可以使用以下查询

SET @value = CURRENT_TIMESTAMP();
INSERT INTO tableA 
(user_id, entrydatetime, record) 
(SELECT user_id, @value := @value + INTERVAL 1 SECOND, record from tableB);

希望它有所帮助...