我想在同一时间添加和更新列,下面是我的查询。我不想使用NOT NULL DEFAULT约束。添加和更新同时发生无效列名sql错误
IF NOT EXISTS(SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_NAME = 'table1' AND COLUMN_NAME = 'new col')
BEGIN
ALTER TABLE table1 ADD "new col" varchar(MAX)
EXEC ('UPDATE table1 SET "new col" = '''' ');
END
但它给我一个错误无效的列名'新的col'。
在此先感谢。
这不看mysql的给我。为什么'EXEC'它在单独的会话中运行 – bansi
我不确定使用'not null default'的异议是什么。 *删除*默认值和*允许*空值都是简单的元数据操作,您可以在初始“alter”后快速执行这些操作。 –
我也想在将来以后放弃这一列,但是当我这样做时,我也必须放弃约束,因此我不想使用“非空”约束。 –