sql - 使用 insert - 语句接收到无穷无尽的错误
问题描述
我试图向客户插入一些值,然后我得到 ora-00904 错误。在我研究了这个问题之后,我没有使用“”,而是使用了“”。但现在我收到了 ora-00984。
INSERT INTO customer (c_id, name, age)
VALUES (1, 'Carl', 45)
OUTPUT:
SQL-ERROR: ORA-00904: "name": invalid ID
00904. 00000 - "%s: invalid identifier"
然后我尝试了这种方式。
INSERT INTO customer (c_id, name, age)
VALUES (1, "Carl", 45)
OUTPUT:
00984. 00000 - "column not allowed here"
我的 DDL - 代码:
CREATE TABLE adress (
adress_id INTEGER NOT NULL,
state VARCHAR2(60) NOT NULL,
country VARCHAR2(60) NOT NULL
);
ALTER TABLE adress ADD CONSTRAINT adress_pk PRIMARY KEY ( adress_id );
CREATE TABLE contract (
con_id INTEGER NOT NULL,
length DATE
);
ALTER TABLE contract ADD CONSTRAINT contract_pk PRIMARY KEY ( con_id );
CREATE TABLE customer (
c_id INTEGER NOT NULL,
name VARCHAR2(60) NOT NULL,
age CHAR(2) NOT NULL,
adress_adress_id INTEGER
);
ALTER TABLE customer ADD CONSTRAINT customer_pk PRIMARY KEY ( c_id );
CREATE TABLE relation_1 (
customer_c_id INTEGER NOT NULL,
contract_con_id INTEGER NOT NULL
);
ALTER TABLE relation_1 ADD CONSTRAINT relation_1_pk PRIMARY KEY ( customer_c_id,
contract_con_id);
ALTER TABLE customer
ADD CONSTRAINT customer_adress_fk FOREIGN KEY ( adress_adress_id )
REFERENCES adress ( adress_id );
ALTER TABLE relation_1
ADD CONSTRAINT relation_1_contract_fk FOREIGN KEY ( contract_con_id )
REFERENCES contract ( con_id );
ALTER TABLE relation_1
ADD CONSTRAINT relation_1_customer_fk FOREIGN KEY ( customer_c_id )
REFERENCES customer ( c_id );
解决方案
VALUES()
用于值列表的语法:
INSERT INTO customer (c_id, name, age)
VALUES (1, 'Carl', 45);
您还可以使用SELECT
:
INSERT INTO customer (c_id, name, age)
SELECT 1, 'Carl', 45
FROM dual;
请注意,在这两种情况下,字符串的分隔符都是单引号而不是双引号。
推荐阅读
- node.js - 在我的服务器中包含所有请求的大量小文件或一个大文件在性能方面更好吗?
- javascript - 隐藏div点击外面
- ios - 无法将“Result”类型的值转换为预期的参数类型“EmailContentData”
- apache-spark - 使用逗号分隔符将一列拆分为 Spark DataFrame 中的多列
- php - htaccess 中的 url 友好重定向问题
- c# - 实体框架核心不包含 ToListAsync 时,但包含 FirstOrDefaultAsync
- asp.net-core - IIS 中的“维护中”视图,同时停止/启动 .net 核心应用程序
- jira - 如何设置服务帐户以使用 JIRA API?
- docker - 在 Docker 中的 Docker 中预拉图像 (dind)
- node.js - npm start - 开发 React 应用程序 - 有什么方法可以设置“基本 href”或将流量转发到我的后端?