Sql 如果在两个表上都创建了值,为什么会出现唯一错误?

Sql 如果在两个表上都创建了值,为什么会出现唯一错误?,sql,oracle,Sql,Oracle,我正在做一个简单的表,它连接到另一个相同日期的表,并出现一个错误,名为: 违反了唯一约束 我在读到这篇文章,说这是因为父表上有一些值。但我做了一些证明,我不这么认为,但我不知道 代码如下: CREATE TABLE articulo (codigo VARCHAR (8) CONSTRAINT articulo_codigo_pk PRIMARY KEY, descripcion VARCHAR2(40),

我正在做一个简单的表,它连接到另一个相同日期的表,并出现一个错误,名为:

违反了唯一约束

我在读到这篇文章,说这是因为父表上有一些值。但我做了一些证明,我不这么认为,但我不知道

代码如下:

CREATE TABLE articulo (codigo VARCHAR (8) CONSTRAINT articulo_codigo_pk PRIMARY KEY,
                       descripcion VARCHAR2(40),
                       dto REAL,
                       stock NUMBER(10),
                       stock_min NUMBER(10)
                       CHECK (dto LIKE '[30-70]'));


CREATE TABLE linea_ticket(ticket NUMBER(10),
                          nlinea VARCHAR(45) CONSTRAINT linea_ticket_nlinea_pk PRIMARY KEY,
                          cant NUMBER(10),
                          precio REAL,
                          dto NUMBER(2),
                          articulo VARCHAR2(8) CONSTRAINT linea_ticket_articulo_pg REFERENCES articulo(codigo)
                          );

INSERT INTO articulo (codigo, descripcion, dto, stock, stock_min)
    VALUES (5,'Producto tóxico', 30, 15,5);
INSERT INTO linea_ticket (ticket,nlinea,cant,precio,dto,articulo)
    VALUES (2,'LINEA2',1,30,30,5);

问题是,虽然“Articulo”和“linea_ticket”在表上共享相同的值,但我得到了错误。

这些创建表真的执行了吗?这是Oracle吗?
dto类似于“[30-70]”
dto=”[30-70]相同“
但您不能将带有varchar值的数字与这两个问题进行比较IQUE约束与外键约束冲突不同。您是否试图在这些表中插入相同的主键值?