gpt4 book ai didi

java - 尝试执行 CREATE TABLE sql 命令时,Netbeans 出现错误代码 -1,SQL 状态 42Z93

转载 作者:行者123 更新时间:2023-12-01 15:28:31 33 4
gpt4 key购买 nike

这是我尝试执行的:

CREATE TABLE "order" (
"o_id" INTEGER not null primary key,
"c_id" INTEGER,
PRIMARY KEY (o_id),
FOREIGN KEY (c_id) REFERENCES customer(c_id)
);

当我执行上述 SQL 命令时出现此错误:

Error code -1, SQL state 42Z93: Constraints 'SQL120326130633321' and 'SQL120326130633320' have the same set of columns, which is not allowed.

在执行上述 SQL 命令之前,我执行了以下命令:

CREATE TABLE "customer" (
"c_id" INTEGER not null primary key,
"c_first" VARCHAR(30),
"c_last" VARCHAR(30)
);

编辑(解决方案):

我想我已经修复了它。

首先,我必须删除 PRIMARY KEY(o_id) 因为它基本上重复了我在 SQL 命令 o_id INTEGER not null Primary key 第 2 行输入的内容,所以它提示我尝试为同一列创建主键两次。

其次,修复后出现另一个错误,告诉我找不到 CUSTOMER 表。也许问题是当 CREATE TABLE 尝试执行时,我在表名“customer”周围使用了逗号(“...”)。

我删除了“customer”表并重新创建了它,而没有在 SQL 命令中使用任何引号。

之后我为“订单”执行了“创建表”并且它起作用了。

奇怪的区别是,当我在 SQL 中使用客户表名称的引号时,起初,它的名称在 Netbeans 的数据库资源管理器中显示为全小写。但是,当我省略引号时,表名称变为全部大写 - 甚至列名称也变为大写。

最佳答案

您将添加主键约束两次。您只需要一次,在一个地方或另一个地方,具体取决于数据库供应商。

关于java - 尝试执行 CREATE TABLE sql 命令时,Netbeans 出现错误代码 -1,SQL 状态 42Z93,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9876533/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com