MySQL - 将列添加到表中?

时间:2012-05-23 19:49:18

标签: php mysql sql

我正在为我的网站进行第一次巨型更新。它有一个现有的帖子表。如果我在表中添加两列,我是否可以将旧数据导入更新的表?

编辑:我的意思是专栏。糟糕。

3 个答案:

答案 0 :(得分:4)

你的意思是两列?如果它们可以为空,那么您应该能够导入不包含这些列的旧数据。您只需要仔细编写插入语句,确保指定要插入的确切列。这是一个很好的做法,无论如何都应该这样做(感谢Bruno的提示)。

示例:

INSERT INTO table1 (Col1, Col2, Col3)
SELECT Col1, Col2, Col3
FROM sourceTable

而不是

INSERT INTO table1
SELECT *
FROM sourceTable

如果两个新列不可为空,那么您可以尝试使用文字附加一些虚拟数据,以使插入生效。

示例:

INSERT INTO table1 (Col1, Col2, Col3, NewCol1, NewCol2)
SELECT Col1, Col2, Col3, '', ''
FROM oldDataTable

或者您可以创建一个默认约束,它也可以正常工作。

答案 1 :(得分:0)

首先导入数据,然后添加新列。 或者您可以插入两列,注意它们不能为空,然后导入旧数据

答案 2 :(得分:0)

我假设你的意思是你在表中添加两列?

是的,您应该能够使用INSERT语句插入现有数据,因为新列可以为空,或者为这些列设置默认值。