ORA-01735:无效ALTER TABLE选项(尝试删除列上的DEFAULT)
我试图在COLUMN sal上删除DEFAULT约束,即Oracle数据库中的customer表中的薪水。ORA-01735:无效ALTER TABLE选项(尝试删除列上的DEFAULT)
我试过SQL语句,是我收到
ALTER TABLE customer ALTER COLUMN sal DROP DEFAULT;
错误消息是
ALTER TABLE customer ALTER COLUMN sal DROP DEFAULT
Error report -
SQL Error: ORA-01735: invalid ALTER TABLE option
01735. 00000 - "invalid ALTER TABLE option"
*Cause:
*Action:
谁能告诉我,这是我现在干的错误呢?
尝试此查询:
ALTER TABLE customer MODIFY sal DEFAULT NULL;
“试试这个问题”并不是解释为什么OP的问题发生,为什么你的陈述应该起作用。我认为“查询”并不是你的陈述的正确名词 – miracle173
@ miracle173 - 也许你是对的,但在这种情况下,即使没有任何解释,OP的尝试有语法错误也是显而易见的。这里的响应者提供了正确的语法。你的反对意见是什么? – mathguy
谢谢@batnight。你的解决方案已经奏效 –
,并且默认约束你的意思究竟是什么?列的默认值(不是按顺序约束)?或者是其他东西?如果您想删除先前指定的列的默认值。只需将其设置为NULL即可。 'alter table customer modify sal default null;' –
[**在手册**中](https://docs.oracle.com/database/121/SQLRF/statements_3001.htm)您是否找到该语法?默认值不是“约束”,它是默认值。 –
除了已经解释过的语法错误外,您还犯了另一个更严重的错误。在你发布之前,请尝试自己做一些研究。谷歌“Oracle更改列默认”或类似的东西;如果在几分钟内找不到正确的答案,请在这里发布问题。在这里直接发帖显示你没有努力。 – mathguy