【发布时间】:2015-05-30 16:59:28
【问题描述】:
我正在尝试在 SQL 中创建此表。
CREATE TABLE Orders (
order_id int(10) NOT NULL,
order_date date NOT NULL,
total_value varchar(250) DEFAULT NULL,
order_status varchar(250) DEFAULT NULL,
payment_type_id int(10) NOT NULL,
delivery_id int(10) DEFAULT NULL,
store_id int(10) NOT NULL,
staff_id int(10) DEFAULT NULL,
client_id int(10) NOT NULL,
sale_type_id int(10) NOT NULL
);
我给了我 [Err] ORA-00907: 缺少右括号
我真的不知道为什么。我已经搜索了很多,我放了这个例子:
CREATE TABLE suppliers (
supplier_id number(10) NOT NULL,
supplier_name varchar2(50) NOT NULL,
contact_name varchar2(50)
);
而且它有效!但是和我的一样,为什么会报这个错误呢?
【问题讨论】:
-
因为和你的不一样。它不包括具有宽度的
int列的定义(这是不正确的),也不包括不必要的DEFAULT NULL约束(这是不必要的,因为没有分配值的列的自动默认值是NULL,所以你不需要指定它)。