【发布时间】:2016-11-03 17:59:13
【问题描述】:
我正在尝试向我的一个列添加约束,但是我收到此错误消息“missing right parenthesis”。我不是第一次收到此消息,但是我对 SQL 还很陌生,所以我的语法不是标准的。
CREATE TABLE FAGFELT
(
bok varchar (255) PRIMARY KEY,
felt varchar (255)
CREATE CONSTRAINT chk_felt CHECK (felt IN("databaser", "programmering", "matematikk", "statistikk", "kjemi", "fysikk"))
);
【问题讨论】:
-
ADD用于ALTER。CREATE不需要它。在此处查看示例:docs.oracle.com/javadb/10.8.3.0/ref/… -
注意,谢谢!我将编辑我的帖子。仍然收到我缺少右括号的错误消息。
-
字符串由单引号而不是双引号分隔。因此,假设您打算将其作为字符串文字,则“数据库”应该是“数据库”。我怀疑你想创建一个外线约束,所以你想在
varchar(255)之后有一个逗号,并从create constraint中删除create。 -
您在所有方面都绝对正确。已解决,谢谢!
-
@PM77-1 - 您的链接实际上是指向 JavaDB(Oracle Corp 拥有的另一个数据库)的文档,而不是 Oracle 文档。它可能相似但不完全相同。
标签: sql oracle ddl check-constraint