gpt4 book ai didi

sql - ORA-02264 : name already used by an existing constraint

转载 作者:行者123 更新时间:2023-12-02 13:40:30 47 4
gpt4 key购买 nike

我正在处理 SQL,但在创建表时遇到问题!这是我的代码:

CREATE TABLE Voucher_Types
(
ID Number(3, 0),
Abbreviation VarChar(2),
Voucher_Type VarChar(100),
EntryBy VarChar(25),
EntryDate Date,
CONSTRAINT ID_PK Primary Key(ID)
);

我收到以下错误,
ORA-02264: 名称已被现有约束使用
我使用的是Oracle10g
我浏览了一下并找到了一些主题,但它们没有帮助我,有人可以帮助我解决这个问题吗!提前致谢..!

最佳答案

您还有另一个表,该表已经具有名称为 ID_PK 的约束。

如果你想知道它是哪个表,你可以尝试

select owner, table_name from dba_constraints where constraint_name = 'ID_PK';

很可能,您复制了 create table 语句,但没有更改主键的约束名称。

通常认为将表名称包含在约束名称中是一种良好的做法。原因之一就是为了防止这种“错误”。

因此,根据您的情况,您可能会使用

CREATE TABLE Voucher_Types
(
...
CONSTRAINT Voucher_Types_PK Primary Key(ID)
);

更新为什么同一个约束名称不能使用两次? (根据评论中的问题):这正是因为它是标识约束的名称。如果您在运行的系统中违反了约束,您想知道它是哪个约束,因此您需要一个名称。但如果该名称可以引用多个约束,则该名称没有特殊用途。

关于sql - ORA-02264 : name already used by an existing constraint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22089212/

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