为什么我在尝试执行这个在 table 中插入记录的简单查询时收到此错误消息?

Why I obtain this error message when I try to perform this simple query that insert a record inside a table?

我是数据库新手,遇到以下问题。

在 Oracle 数据库上,我有一个名为 KM_COUNTRY_AREA 的 table,具有以下结构:

COLUMN NAME          DATA_TYPE           NULLABLE    DATA_DEFAULT   COLUMN_ID
--------------------------------------------------------------------------------
IDCOUNTRYAREA        NUMBER(19,0)          No           (null)             1    
NOMEFOLDER           VARCHAR2(255 CHAR)    Yes          (null)             2    
COUNTRY_IDCOUNTRY    NUMBER(19,0)          Yes          (null)             3    

所以 IDCOUNTRYAREA 字段我认为它是一个自动生成的字段(因为 table 是使用 Hibernate 创建的并且该字段被定义为 @Id@GeneratedValue 在模型中 class).

所以现在我必须将一些记录直接插入到数据库中(我需要做一些测试)但是我发现编写插入查询时遇到了一些问题,我正在按照本教程进行操作:http://www.w3schools.com/sql/sql_insert.asp

并且我创建了这个 SQL 语句:

INSERT INTO KM_COUNTRY_AREA (IDCOUNTRYAREA, NOMEFOLDER, COUNTRY_IDCOUNTRY) VALUES (null, "BRAZIL", 715);

我将第一列的值设为 null 因为它必须是自动生成的(但我认为这是错误的)。

它不起作用,我收到以下错误消息:

Errore con inizio alla riga 1 nel comando:
INSERT INTO KM_COUNTRY_AREA (IDCOUNTRYAREA, NOMEFOLDER, COUNTRY_IDCOUNTRY)
VALUES (null, "BRAZIL", 715)
Errore alla riga del comando:2 Colonna:14
Report errori:
Errore SQL: ORA-00984: colonna non consentita in questo caso
00984. 00000 -  "column not allowed here"
*Cause:    
*Action:

我怎样才能解决这个问题并正确地将我的行插入我的 KM_COUNTRY_AREA table?

Tnx

EDIT-1:

我尝试修改使用:

INSERT INTO KM_COUNTRY_AREA (IDCOUNTRYAREA, NOMEFOLDER, COUNTRY_IDCOUNTRY)
VALUES (null, 'BRAZIL', 715);

但我收到以下错误消息:

Errore con inizio alla riga 1 nel comando:
INSERT INTO KM_COUNTRY_AREA (IDCOUNTRYAREA, NOMEFOLDER, COUNTRY_IDCOUNTRY)
VALUES (null, 'BRAZIL', 715)
Report errori:
Errore SQL: ORA-01400: impossibile inserire NULL in ("PRC_KM_OWNER"."KM_COUNTRY_AREA"."IDCOUNTRYAREA")
01400. 00000 -  "cannot insert NULL into (%s)"
*Cause:    
*Action:

似乎我不能将主键设为空,但这很奇怪,因为在 Hibernate 中我将此字段定义为:

@Id
@GeneratedValue
private Long idCountryArea;

所以我认为它的值必须自动生成,有什么问题吗?

删除 Double quotes 并使用 single quotes 插入 varchar 数据

同时创建一个 sequence 来自动生成值

CREATE SEQUENCE seq
MINVALUE 1
START WITH 1
INCREMENT BY 1

INSERT INTO KM_COUNTRY_AREA 
(IDCOUNTRYAREA,NOMEFOLDER, COUNTRY_IDCOUNTRY)
VALUES (seq.nextval, 'BRAZIL', 715)