无效的标识符错误,但我不明白为什么

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中的保留字,把列名改成非保留字试试。

here for the full list of reserved words

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
);