我正在尝试将默认值添加到现有表中,但它根本不起作用。我希望在我的表中添加数据时看到'NO'
,但它没有发生。我不确定发生了什么,或者我的语法是否错误。请帮忙。感谢
ALTER TABLE [myTable]
ADD CONSTRAINT [DF_myTable_FLAG] DEFAULT ('NO') FOR [FLAG]
此列的数据类型为varchar
。
答案 0 :(得分:3)
只有新记录才会获得默认记录。
测试一下:
CREATE TABLE #TEST(NAME VARCHAR(5), FLAG VARCHAR(3))
INSERT INTO #TEST (NAME) SELECT 'DAVE'
ALTER TABLE #TEST ADD CONSTRAINT [DF_TEST_FLAG] DEFAULT ('NO') FOR [FLAG]
INSERT INTO #TEST (NAME) SELECT 'MOE'
SELECT * FROM #TEST
必须手动更新旧记录。