SQL Error: ORA-00913: too many values 00913. 00000 - "too many values" for insert query
SQL Error: ORA-00913: too many values 00913. 00000 - "too many values" for insert query
CREATE TABLE AAA_MYTB_STUDENT
(
STUDENT_NIC INT NOT NULL PRIMARY KEY,
INSID INT NOT NULL,
UNIID INT NOT NULL,
FNAME VARCHAR(30)NOT NULL,
MNAME VARCHAR(30),
LNAME VARCHAR(30),
ADDRL1 VARCHAR(15),
ADDRL2 VARCHAR(15),
ADDRL3 VARCHAR(15),
ADDRL4 VARCHAR(15),
BATCHNO VARCHAR(10) NOT NULL,
DOB DATE,
GENDER CHAR(1)
);
以上是我使用 19c 版本在 oracle 数据库中创建的 create table 查询。
使用下面的查询,我试图将值插入到创建的 table。
但它一直给我下面的错误信息。查看了许多以前的答案,但我无法弄清楚查询有什么问题。
INSERT INTO AAA_MYTB_STUDENT(STUDENT_NIC, INSID, UNIID, FNAME, MNAME, LNAME, ADDRL1,ADDRL2, ADDRL3, ADDRL4, BATCHNO, DOB)
VALUES (873393262, 12345, 200569, "Chamara", "Munasinghe","Arachchige","123A", "DNR State", "HOMAGAMA","Sri Lanka","2021Jan001","1999/12/05","M");
SQL 错误:ORA-00913:值太多
00913. 00000 - “值太多”
GENDER 列不在您的插入语句中。
INSERT INTO AAA_MYTB_STUDENT(STUDENT_NIC, INSID, UNIID, FNAME, MNAME, LNAME, ADDRL1,ADDRL2, ADDRL3, ADDRL4, BATCHNO, DOB, GENDER)
VALUES (873393262, 12345, 200569, "Chamara", "Munasinghe","Arachchige","123A", "DNR State", "HOMAGAMA","Sri Lanka","2021Jan001","1999/12/05","M");
发生这种情况是因为提供的数值多于插入子句中提到的列数。
在这种情况下,缺少“性别”字段
INSERT INTO AAA_MYTB_STUDENT(STUDENT_NIC, INSID, UNIID, FNAME, MNAME, LNAME, ADDRL1,ADDRL2, ADDRL3, ADDRL4, BATCHNO, DOB)
VALUES (873393262, 12345, 200569, "Chamara", "Munasinghe","Arachchige","123A", "DNR State", "HOMAGAMA","Sri Lanka","2021Jan001","1999/12/05","M");
缺少 GENDER
列,但一旦修复该列,您就需要将双引号更改为单引号。
- 双引号表示区分大小写的标识符(即列或 table 名称)。
- 单引号表示文字(即字符串)。
INSERT INTO AAA_MYTB_STUDENT(
STUDENT_NIC,
INSID,
UNIID,
FNAME,
MNAME,
LNAME,
ADDRL1,
ADDRL2,
ADDRL3,
ADDRL4,
BATCHNO,
DOB,
GENDER -- The gender column was missing.
) VALUES (
873393262,
12345,
200569,
'Chamara', -- Single quotes
'Munasinghe', -- Single quotes
'Arachchige', -- Single quotes
'123A', -- Single quotes
'DNR State', -- Single quotes
'HOMAGAMA', -- Single quotes
'Sri Lanka', -- Single quotes
'2021Jan001', -- Single quotes
DATE '1999-12-05', -- Use a DATE literal
'M'
);
CREATE TABLE AAA_MYTB_STUDENT
(
STUDENT_NIC INT NOT NULL PRIMARY KEY,
INSID INT NOT NULL,
UNIID INT NOT NULL,
FNAME VARCHAR(30)NOT NULL,
MNAME VARCHAR(30),
LNAME VARCHAR(30),
ADDRL1 VARCHAR(15),
ADDRL2 VARCHAR(15),
ADDRL3 VARCHAR(15),
ADDRL4 VARCHAR(15),
BATCHNO VARCHAR(10) NOT NULL,
DOB DATE,
GENDER CHAR(1)
);
以上是我使用 19c 版本在 oracle 数据库中创建的 create table 查询。 使用下面的查询,我试图将值插入到创建的 table。 但它一直给我下面的错误信息。查看了许多以前的答案,但我无法弄清楚查询有什么问题。
INSERT INTO AAA_MYTB_STUDENT(STUDENT_NIC, INSID, UNIID, FNAME, MNAME, LNAME, ADDRL1,ADDRL2, ADDRL3, ADDRL4, BATCHNO, DOB)
VALUES (873393262, 12345, 200569, "Chamara", "Munasinghe","Arachchige","123A", "DNR State", "HOMAGAMA","Sri Lanka","2021Jan001","1999/12/05","M");
SQL 错误:ORA-00913:值太多 00913. 00000 - “值太多”
GENDER 列不在您的插入语句中。
INSERT INTO AAA_MYTB_STUDENT(STUDENT_NIC, INSID, UNIID, FNAME, MNAME, LNAME, ADDRL1,ADDRL2, ADDRL3, ADDRL4, BATCHNO, DOB, GENDER)
VALUES (873393262, 12345, 200569, "Chamara", "Munasinghe","Arachchige","123A", "DNR State", "HOMAGAMA","Sri Lanka","2021Jan001","1999/12/05","M");
发生这种情况是因为提供的数值多于插入子句中提到的列数。
在这种情况下,缺少“性别”字段
INSERT INTO AAA_MYTB_STUDENT(STUDENT_NIC, INSID, UNIID, FNAME, MNAME, LNAME, ADDRL1,ADDRL2, ADDRL3, ADDRL4, BATCHNO, DOB)
VALUES (873393262, 12345, 200569, "Chamara", "Munasinghe","Arachchige","123A", "DNR State", "HOMAGAMA","Sri Lanka","2021Jan001","1999/12/05","M");
缺少 GENDER
列,但一旦修复该列,您就需要将双引号更改为单引号。
- 双引号表示区分大小写的标识符(即列或 table 名称)。
- 单引号表示文字(即字符串)。
INSERT INTO AAA_MYTB_STUDENT(
STUDENT_NIC,
INSID,
UNIID,
FNAME,
MNAME,
LNAME,
ADDRL1,
ADDRL2,
ADDRL3,
ADDRL4,
BATCHNO,
DOB,
GENDER -- The gender column was missing.
) VALUES (
873393262,
12345,
200569,
'Chamara', -- Single quotes
'Munasinghe', -- Single quotes
'Arachchige', -- Single quotes
'123A', -- Single quotes
'DNR State', -- Single quotes
'HOMAGAMA', -- Single quotes
'Sri Lanka', -- Single quotes
'2021Jan001', -- Single quotes
DATE '1999-12-05', -- Use a DATE literal
'M'
);