我正在为已禁止访问我网站的用户创建一个表格。我想将所有内容移动到新表,包括创建记录时的TIMESTAMP,但新表在被禁止时也会有TIMESTAMP。
当我在表foo
中创建一行时,我有一个TIMESTAMP,用于在创建该行时进行注册。我想将该行传输到另一个具有不同列数的表(bar
),并保留原始TIMESTAMP的信息。怎么办呢?
我对MySQL很新,所以如果我有错误的假设,请纠正我,但似乎TIMESTAMP字段实际上在创建记录时创建了TIMESTAMP,并且现有的TIMESTAMP值必须存储为其他类似的东西新表中的VARCHAR。我离开了吗?
编辑:解决了我自己的问题
我原本没有尝试任何东西,因为我不知道尝试什么。最后,事实证明只是将值从一个TIMESTAMP列移动到另一个TIMESTAMP列确实有效。两列之间的唯一区别是原始TIMESTAMP的DEFAULT为CURRENT_TIMESTAMP,而新的TIMESTAMP的DEFAULT为NULL。
我使用了以下代码:
INSERT INTO `bar` (`created`)
SELECT `created` FROM `foo` WHERE `user` = '000'