我正在尝试在3.5 gb表(SQL Server Express)上将列更改为not null
。
所有行都包含表格中的值。
我从allow null
中删除复选框,然后点击保存。
我明白了:
无法修改表格 超时已过期。操作完成之前经过的超时时间或服务器没有响应。
我怎样才能克服这个?
答案 0 :(得分:4)
它可能不会直接起作用。你需要这样做
首先使表中的所有NULL值为空
UPDATE tblname SET colname=0 WHERE colname IS NULL
然后更新你的表
ALTER TABLE tblname ALTER COLUMN colname INTEGER NOT NULL
希望这可以解决您的问题。
答案 1 :(得分:2)
试试这个:
ALTER TABLE tblname ADD CONSTRAINT [DF_tblname_colnamename] DEFAULT (0) FOR colname
ALTER TABLE tblname ALTER COLUMN colname INTEGER NOT NULL
答案 2 :(得分:1)
您还可以增加或覆盖超时。
从此处您可以选择覆盖超时或增加超时:
增加“事后超时:”(见图)
或者
取消选中“覆盖表设计器更新的连接字符串超时值:”
您可以看到默认超时为30秒。这些选项记录在MS Support page here。