【发布时间】:2018-06-05 21:58:35
【问题描述】:
我的数据库有问题。我已经创建了表:
CREATE TABLE TOURNAMENT
(
TOURNAMENT_ID INTEGER NOT NULL,
DATE DATE NOT NULL,
CITY VARCHAR2 (100 CHAR) NOT NULL,
PRIZEPOOL NUMBER (18,2) NOT NULL,
COUNTRY VARCHAR2 (100 CHAR) NOT NULL,
ARENA VARCHAR2 (100 CHAR),
SHOP_ID INTEGER,
PRODUCTION_ID INTEGER NOT NULL
);
ALTER TABLE TOURNAMENT ADD CONSTRAINT TOURNAMENT_PK PRIMARY KEY ( TOURNAMENT_ID ) ;
当我尝试插入一行时:
prompt Tabulka TOURNAMENT
insert into TOURNAMENT (TOURNAMENT_ID, DATE, CITY, PRIZEPOOL, COUNTRY, ARENA, SHOP_ID, PRODUCTION_ID)
values (1, 08-OCT-2015, 'Moscow', 15000, 'Russia', NULL, 1, 3);
我收到一条错误消息:
ORA-00984:此处不允许列
有人知道这意味着什么吗?
【问题讨论】:
-
也许您只需要在日期常量周围加上引号。
-
首先,表中不能有名为 DATE 的列,请将其重命名为 TOURNAMENT_DATE 之类的名称
-
是的,就是这样。非常感谢。
-
为了解释错误消息,解析器在您的
values子句中拒绝了单词OCT。它已将其解释为列名(类似于stackoverflow.com/q/10178292/230471),并且在insert的values子句中不允许列名。