我正在对我的网站进行第一次重大更新。它有一个现有的帖子表。如果我在表中添加两列,我能否将旧数据导入到更新后的表中?
编辑:我的意思是列。哎呀。
你的意思是两列?如果它们可以为空,那么您应该能够导入不包含这些列的旧数据。您只需要通过确保指定要插入的确切列来仔细编写您的插入语句。这是一个很好的做法,无论如何都应该这样做(感谢布鲁诺的提示)。
例子:
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
或者,您可以创建一个同样有效的默认约束。
首先导入数据,然后添加新列。或者您可以插入两列,注意它们不能为空,然后导入旧数据
我假设你的意思是如果你在表中添加两列?
是的,您应该能够使用INSERT
语句插入现有数据,因为新列可以为空,或者您为这些列设置默认值。