MySQL避免CurrentTimeStamp中的重复条目

MySQL避免CurrentTimeStamp中的重复条目,mysql,sql,Mysql,Sql,当我试图使用sqlquery将一大组行直接插入数据库时 INSERT INTO `table1`(`id1`, `id2`, `id3`) SELECT CURRENT_TIMESTAMP,id4, id5 FROM table2 “主要”键的重复输入“2015-02-03 20:49:59” 这是因为两行试图添加相同的时间戳作为主键。在java中,我们可以通过维护变量来检查唯一性。如何在直接插入mysql数据库时确保这种唯一性决不能对任何主键使用Timestamp/DateTime第一个问

当我试图使用
sql
query将一大组行直接插入数据库时

INSERT INTO `table1`(`id1`, `id2`, `id3`) 
SELECT CURRENT_TIMESTAMP,id4, id5 FROM table2
“主要”键的重复输入“2015-02-03 20:49:59”


这是因为两行试图添加相同的时间戳作为主键。在java中,我们可以通过维护变量来检查唯一性。如何在直接插入mysql数据库时确保这种唯一性决不能对任何主键使用Timestamp/DateTime第一个问题是,您可以在一秒钟内插入多条记录,从而导致主键重复


对主键使用带自动递增的and integer,然后创建时间戳/Datetime,并在列上创建索引。

不要对主键使用时间戳,请使用序列值(或MySQL调用的任何值)这就是为什么
TimeStamp
DateTime
列会产生可怕的主键的原因……例如,如果您想现在显示插入行的时间戳,可以将列
id
自动递增作为主键