简体   繁体   English

外键插入错误SQL Developer

[英]Foreign key insertion error SQL Developer

I have tried applying the foreign key in many ways, but I am getting the same error when inserting a row to my table which is: 我尝试了多种方式应用外键,但是在表中插入一行时却遇到了相同的错误:

INSERT INTO MEDICINE 
VALUES (50, 'PREDNISONE', '8 BOTTLES', 'N', 
        TO_DATE('12-MAR-2019','DD-MON-YYYY'), 
        TO_DATE('09-JAN-2016','DD-MON-YYYY'), 2);

I have created my table in many ways: 我已经以多种方式创建了表格:

CREATE TABLE MEDICINE
(
    M_ID NUMBER PRIMARY KEY,
    M_NAME VARCHAR2(50),
    QUANTITY NUMBER,
    OTC VARCHAR2(1),
    EXPR DATE,
    LAST_AUDIT DATE,
    PT_ID NUMBER,

    CONSTRAINT fk_MED FOREIGN KEY (PT_ID)
    REFERENCES PHARM_TECH(PT_ID)
);

I've also tried: 我也尝试过:

CREATE TABLE MEDICINE
(
    M_ID NUMBER PRIMARY KEY,
    M_NAME VARCHAR2(50),
    QUANTITY NUMBER,
    OTC VARCHAR2(1),
    EXPR DATE,
    LAST_AUDIT DATE,
    PT_ID NUMBER
);

ALTER TABLE MEDICINE
ADD FOREIGN KEY (PT_ID)
REFERENCES PHARM_TECH(PT_ID);

I've also attempted: 我也尝试过:

CREATE TABLE MEDICINE
(
     M_ID NUMBER PRIMARY KEY,
     M_NAME VARCHAR2(50),
     QUANTITY NUMBER,
     OTC VARCHAR2(1),
     EXPR DATE,
     LAST_AUDIT DATE,
     PT_ID NUMBER REFERENCES PHARM_TECH(PT_ID)
);

These all run fine and creates the table without issues, however, I keep receiving this error when inserting the row above: 这些都运行良好,并且创建了没有问题的表,但是,在插入上面的行时,我一直收到此错误:

Error report - 错误报告 -
SQL Error: ORA-01722: invalid number SQL错误:ORA-01722:无效的数字
01722. 00000 - "invalid number" 01722. 00000-“无效编号”
*Cause: The specified number was invalid. *原因:指定的号码无效。
*Action: Specify a valid number. *操作:指定一个有效数字。

What's causing this? 是什么原因造成的?

You cannot insert the value '8 BOTTLES' into column QUANTITY. 您不能将值“ 8瓶”插入QUANTITY列中。 The data type is Number not varchar. 数据类型为Number而不是varchar。 try 8 or try changing the datatype of column Quantity to varchar2 尝试8或尝试将“数量”列的数据类型更改为varchar2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM