5
A
回答
10
你需要两个语句。首先创建不为null的列。然后改变NOT NULL约束可空
alter table mytable add mycolumn varchar(10) not null default ('a value')
alter table mytable alter column mycolumn varchar(10) null
1
我对此表示怀疑。
http://msdn.microsoft.com/en-us/library/ms190273(SQL.90).aspx
Microsoft推荐的方法如下(从上面的网址采取)
UPDATE MyTable SET NullCol = N'some_value' WHERE NullCol IS NULL
ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) NOT NULL
4
我明白你的问题,但你说,在今后的记录,NULL(未知的,不确定的或任何你语义)是可以接受的(但如果是在离开一个插入,会有一个默认值),但是对于所有现有的数据,您将继续并将其分配为默认值。
我会在这个情况看很难,问为什么你甚至要允许在所有未来的记录NULL值 - 历史记录中的什么都不会拥有它,而且是未来的记录代替默认。
0
ALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE} [**WITH VALUES]**
WITH VALUES可用于在新列存储的默认值表中的每个现有行。
有关MSDN链接的更多详细信息。 https://msdn.microsoft.com/en-in/library/ms190273.aspx
相关问题
- 1. SQL服务器增加值
- 2. 如何更改sql服务器中的默认列值
- 3. 默认值从服务器
- 4. 增加时间在SQL服务器
- 5. SQL服务器 - 删除约束,并添加默认值一次
- 6. SQL服务器:从默认值的两个表选择0
- 7. 增加MySQL服务器超时值
- 8. 如何在mysql中增加默认值
- 9. SQL Server触发器:当另一个表的列值增加时,如何增加表中的列值?
- 10. Smtp服务器默认超时
- 11. SQL Server 2008使用服务器ID作为默认值
- 12. SQL服务器:遍历每一行,增加的值添加到
- 13. 添加列 - SQL服务器表
- 14. 默认服务器在〜/ .pypirc
- 15. 默认web服务器
- 16. 注册新的SQL 2000服务器时更改默认端口
- 17. asp.net中web服务wsdl的默认值
- 18. SQL Server将表内的列复制为默认值
- 19. 下拉列表默认值
- 20. SQL默认值
- 21. SQL默认值
- 22. SQL服务器:自动递增的十进制列
- 23. 在服务器端的渐进增强?
- 24. 有没有Symfony2默认容器服务的列表?
- 25. Sql服务器临时表
- 26. Sharepoint Webpart定制属性获取服务器重启时的默认值
- 27. wamp服务器中的默认服务器名称是什么?
- 28. Microsoft SQL报表服务器认证
- 29. 列表框默认值
- 30. 默认值选择列表