例如我有一个名为people
的表,其中包含以下列 -
people_id (primary key, auto inc)
first_name
last_name
timestamp (default - current_timestamp)
此表在添加最后一列timestamp
之前已有30,000行,因此目前所有时间戳都相同。我希望每个时间戳都是唯一的,但我无法这样做。
我发现的stackoverflow上最接近的answer是Oracle的,它建议以下查询 -
UPDATE ITEM_HISTORY SET my_timestamp = SYSTIMESTAMP + NUMTODSINTERVAL(rownum/1000, 'SECOND');
但是这个查询在MySQL中不起作用,因为NUMTODSINTERVAL
和SYSTIMESTAMP
没有这样的函数。我尝试使用上面提到的查询作为 -
UPDATE people SET `timestamp` = CURRENT_TIMESTAMP + people_id;
但它失败了,我认为因为,people_id(int)无法添加到时间戳中。 那么有没有办法以时间戳或其他任何方式转换和添加people_id以更新具有唯一时间戳的行?
感谢。
答案 0 :(得分:2)
您可以根据用户的ID
添加一些使用间隔.limitWidth {
white-space: nowrap;
max-width: 100px;
text-overflow: ellipsis;
overflow-x: hidden;
}
答案 1 :(得分:0)
但它失败了,我认为因为,people_id(int)无法添加到时间戳
当然可以。你可以使用UNIX_TIMESTAMP
UPDATE people SET timestamp = DATE_ADD(UNIX_TIMESTAMP(), INTERVAL id SECOND);
答案 2 :(得分:0)
它对我有用
更新人员SET timestamp
= UNIX_TIMESTAMP()+ people_id;