无效的标识符错误,但我不明白为什么
Invalid identifier error but i can't see why
开始学习 SQL 并且正在尝试创建脚本。该代码对我来说看起来非常好,但我不断收到无效标识符错误。我一遍又一遍地检查代码,但似乎一切正常。我要疯了。顺便说一句,我正在使用oracle。
create table Products ( ID int not null, Item varchar(30) not null, Size
varchar(1) not null);
insert into Products values ( 321, 'T-shirt', 'M');
insert into Products values ( 211, 'Jeans', 'L');
Size
是Oracle中的保留字,把列名改成非保留字试试。
size
是 Oracle 的 SQL 中的保留字(不确定是否符合 ANSI 标准,但某些数据库,如 MySQL 肯定允许)。
您可以使用双引号 ("
) 转义它:
CREATE TABLE Products (
ID INT NOT NULL,
Item VARCHAR(30) NOT NULL,
"Size" VARCHAR(1) NOT NULL
);
但是选择一个非保留字的名称会容易得多:
CREATE TABLE Products (
ID INT NOT NULL,
Item VARCHAR(30) NOT NULL,
ProductSize VARCHAR(1) NOT NULL
);
开始学习 SQL 并且正在尝试创建脚本。该代码对我来说看起来非常好,但我不断收到无效标识符错误。我一遍又一遍地检查代码,但似乎一切正常。我要疯了。顺便说一句,我正在使用oracle。
create table Products ( ID int not null, Item varchar(30) not null, Size
varchar(1) not null);
insert into Products values ( 321, 'T-shirt', 'M');
insert into Products values ( 211, 'Jeans', 'L');
Size
是Oracle中的保留字,把列名改成非保留字试试。
size
是 Oracle 的 SQL 中的保留字(不确定是否符合 ANSI 标准,但某些数据库,如 MySQL 肯定允许)。
您可以使用双引号 ("
) 转义它:
CREATE TABLE Products (
ID INT NOT NULL,
Item VARCHAR(30) NOT NULL,
"Size" VARCHAR(1) NOT NULL
);
但是选择一个非保留字的名称会容易得多:
CREATE TABLE Products (
ID INT NOT NULL,
Item VARCHAR(30) NOT NULL,
ProductSize VARCHAR(1) NOT NULL
);