0

我正在对我的网站进行第一次重大更新。它有一个现有的帖子表。如果我在表中添加两列,我能否将旧数据导入到更新后的表中?

编辑:我的意思是列。哎呀。

4

3 回答 3

4

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

例子:

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

或者,您可以创建一个同样有效的默认约束。

于 2012-05-23T19:50:55.013 回答
0

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

于 2012-05-23T19:52:17.683 回答
0

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

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

于 2012-05-23T19:52:44.093 回答