【发布时间】:2020-11-12 11:31:31
【问题描述】:
请帮忙。我不确定发生了什么。我什至尝试删除表但仍然不成功。
CREATE TABLE 'customer' (
'customer_id' int NOT NULL AUTO_INCREMENT,
'type' varchar(45) NOT NULL,
'name' varchar(45) NOT NULL,
'cut_off' int NOT NULL,
PRIMARY KEY ('customer_id')
)
Error starting at line : 1 in command -
CREATE TABLE 'customer' (
'customer_id' int NOT NULL AUTO_INCREMENT,
'type' varchar(45) NOT NULL,
'name' varchar(45) NOT NULL,
'cut_off' tinyint NOT NULL,
PRIMARY KEY ('customer_id')
)
Error report -
ORA-00903: invalid table name
00903. 00000 - "invalid table name"
*Cause:
*Action:
【问题讨论】:
-
表名和列名应该用双引号,而不是单引号。
-
@Barmar ... 或者甚至可能没有双引号,以防表名不是保留关键字。
-
@TimBiegeleisen 我不是 Oracle 用户,但我知道有时需要双引号,即使它不是保留字。我认为它与大小写有关。
-
@Barmer 您使用双引号使表名区分大小写,它还允许您违反其他表命名规则。每次引用该表时,都需要使用具有完全相同区分大小写名称的双引号。通常最好避免。默认情况下,不使用双引号,表名将以大写形式存储,并且可以不区分大小写引用(只要不使用双引号)。
标签: oracle