2015-04-22 38 views
-1

为什么在执行此SQL时会收到无效标识符?我完全被难住了。这个简单的代码有什么问题。我得到的错误是为什么在执行此SQL时会收到无效标识符?

ORA-00904:无效的标识符

CREATE TABLE themepark 
(
apples NUMBER(10) PRIMARY KEY, 
bananas VARCHAR2(20), NOT NULL, 
cherries VARCHAR2(10), NOT NULL, 
eggs VARCHAR2(10) NOT NULL 
); 

我使用Oracle数据库使用SQL Fiddle的人。

另一方面,下面的代码工作。

CREATE TABLE ticket 
(
red1 VARCHAR2(15) PRIMARY KEY, 
orange NUMBER(10) NOT NULL, 
yellow NUMBER(4,2) NOT NULL, 
green VARCHAR2(2) NOT NULL, 
blue VARCHAR2(15) NOT NULL 
); 

是什么让第一个代码(不起作用),任何不同于第二个代码呢?

+4

你不想VARCHAR2后'逗号(<>)'和'之前,在你要么'bananas'或'cherries'列的定义不NULL'。 –

+1

以JustinCave的建议为例的工作示例:http://sqlfiddle.com/#!4/27e0c7 – bernie

+0

我现在明白了,谢谢,但是我应该删除这个问题,因为我怀疑这对其他人有用。 – desbest

回答

5

在脚本中有逗号。

CREATE TABLE themepark 
(
apples NUMBER(10) PRIMARY KEY, 
bananas VARCHAR2(20) NOT NULL, 
cherries VARCHAR2(10) NOT NULL, 
eggs VARCHAR2(10) NOT NULL 
); 
相关问题