如何在sql server中的现有表中添加默认值

时间:2014-02-11 21:40:00

标签: sql sql-server tsql

我正在尝试将默认值添加到现有表中,但它根本不起作用。我希望在我的表中添加数据时看到'NO',但它没有发生。我不确定发生了什么,或者我的语法是否错误。请帮忙。感谢

ALTER TABLE [myTable] 
ADD  CONSTRAINT [DF_myTable_FLAG]  DEFAULT ('NO') FOR [FLAG]

此列的数据类型为varchar

1 个答案:

答案 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

必须手动更新旧记录。