将列插入表中,使用现有列值作为现有行的默认值

时间:2013-04-16 19:23:50

标签: mysql insert

我想在exsting表中添加一列。

ALTER TABLE statuses ADD updated int(11) default NULL

上面的行将所需的列添加到我的表中,而不是NULL作为默认值,我想使用“created”列的值。因此,每一行都会使列“更新”并填充“已创建”的“自己的”列。

我该怎么做?

示例:

id - created
1  - 12345678
2  - 87654321
3  - 12121212

现在插入新列'已更新',表格应如下:

id - created - updated
1  - 12345678 - 12345678 
2  - 87654321 - 87654321
3  - 12121212 - 12121212

1 个答案:

答案 0 :(得分:4)

你不能,不能在一个声明中。

您必须运行两个语句:

ALTER TABLE statuses ADD updated int(11);

UPDATE  statuses
SET     updated = created;