0
我想将默认值添加到现有的表,但它根本不工作。我希望在我的表格中添加数据时看到'NO'
,但没有发生。我不确定发生了什么,或者我的语法在这里是错误的。请帮忙。谢谢如何在sql服务器的现有表中添加默认值
ALTER TABLE [myTable]
ADD CONSTRAINT [DF_myTable_FLAG] DEFAULT ('NO') FOR [FLAG]
此列的数据类型为varchar
。
我想将默认值添加到现有的表,但它根本不工作。我希望在我的表格中添加数据时看到'NO'
,但没有发生。我不确定发生了什么,或者我的语法在这里是错误的。请帮忙。谢谢如何在sql服务器的现有表中添加默认值
ALTER TABLE [myTable]
ADD CONSTRAINT [DF_myTable_FLAG] DEFAULT ('NO') FOR [FLAG]
此列的数据类型为varchar
。
只有新记录才会得到默认值。
测试此:
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
旧志必须手动更新。
你能向我们展示你用来插入行的插入语句吗? – meziantou
首先,这仅适用于添加了**新行**,并且只有当您**没有明确指定INSERT语句中该列的值时才起作用。语法看起来不错 - 但你怎么**插入**你的新行? –