我正在尝试向Oracle 9中的列添加“not null”约束。
ALTER TABLE user_roles modify group_id varchar2(36 char) set not null;
但是,操作失败并出现奇怪的错误:
Error report:
SQL Error: ORA-12987: cannot combine drop column with other operations
12987. 00000 - "cannot combine drop column with other operations"
*Cause: An attempt was made to combine drop column with other
ALTER TABLE operations.
*Action: Ensure that drop column is the sole operation specified in
ALTER TABLE.
为什么会失败的任何想法?
答案 0 :(得分:2)
删除set
:
ALTER TABLE user_roles modify group_id varchar2(36 char) not null
是的,Oracle
的错误可能会产生误导。
答案 1 :(得分:0)
我正在尝试添加'not null' 约束到Oracle 9中的列。
如果你真的尝试jsut使列NOT NULL(即你不想同时更改数据类型),你只需要
ALTER TABLE user_roles modify not null;
答案 2 :(得分:0)
事实证明上述语句的语法是错误的。它应该是:
ALTER TABLE user_roles modify group_id varchar2(36 char) not null;
但是,错误的“设置”的存在会导致一个非常奇怪的错误!