0
我已经尝试了应用在很多方面外键,而是插入一行到我的表,该表时,我收到了同样的错误:外键插入错误的SQL开发
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);
我已经创建了我的表很多:
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)
);
我也试过:
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);
我也尝试:
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)
);
这些都运行正常,并创建表没有问题,但是,插入行上面时,我不断收到此错误:
Error report -
SQL Error: ORA-01722: invalid number
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
是什么造成的?
该错误与外键无关。 '8 BOTTLES'根本不是一个数字(这是'quantity'列的数据类型) –