【发布时间】:2015-04-22 04:42:28
【问题描述】:
我遇到了这个错误,我需要你的帮助:
第 2 行出现错误:ORA-00907:缺少右括号
CREATE TABLE users(
user_id int IDENTITY(1,1) PRIMARY KEY,
user_name varchar2(100) NOT NULL DEFAULT '',
user_password varchar2(100) NOT NULL DEFAULT '',
f_name varchar2(50) NOT NULL DEFAULT '',
l_name varchar2(50) NOT NULL DEFAULT '',
signature text NOT NULL DEFAULT '',
link varchar2(255) NOT NULL DEFAULT '',
category_id int NOT NULL DEFAULT 1
);
【问题讨论】:
-
你有额外的 , category_id int NOT NULL DEFAULT 1,
-
谢谢,但我仍然遇到同样的错误...
-
您使用的是什么版本的 Oracle?
IDENTITY(1,1)在任何版本中均无效。但是你至少可以在 12.1 中定义一个标识列。text不是有效的数据类型。而且空字符串和NULL不是不同的东西,所以声明一个列NOT NULL然后尝试通过空字符串将其默认为NULL是没有意义的。 -
好的,我修正了文本有效类型。我正在使用 10.2.0.4.0。
-
@JustinCave:我相信你都掌握了;这应该是一个答案:)
标签: sql oracle create-table identity-column