NOT NULL我尝试同时设置默认值和约束。
我想出了
ALTER TABLE signedcodeofconduct ALTER COLUMN affirmed SET DEFAULT false NOT NULL;
Run Code Online (Sandbox Code Playgroud)
这导致
ERROR: syntax error at or near "NOT"
LINE 1: ...eofconduct ALTER COLUMN affirmed SET DEFAULT false NOT NULL;
Run Code Online (Sandbox Code Playgroud)
我想出了这个例子,因为我看到类似的语句有效,即
ALTER TABLE Snap ADD COLUMN private boolean DEFAULT false NOT NULL;
Run Code Online (Sandbox Code Playgroud)
仔细观察后,我注意到工作示例使用ADD COLUMN而不是ALTER COLUMN- 这可能就是区别。
那么,是否可以对一个列同时更改两件事?
在另一个地方我被建议使用
ALTER TABLE signedcodeofconduct ALTER COLUMN affirmed SET DEFAULT false IS NOT NULL;
Run Code Online (Sandbox Code Playgroud)
这会起作用,但并不完全相同。
小智 7
您可以使用单个 ALTER 语句来完成此操作,但需要重复 ALTER COLUMN 部分:
ALTER TABLE signedcodeofconduct
ALTER COLUMN affirmed SET NOT NULL,
ALTER COLUMN affirmed SET DEFAULT false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1435 次 |
| 最近记录: |