'错误:ORA-01722:插入表时无效数字'?

时间:2018-02-27 22:40:57

标签: oracle

我是SQL的新手,我遇到了一个涉及将记录插入表中的分配问题。到目前为止,我有:

insert into show (show_id,production_company_id, 
genre,name_of_show,mpaa_rating,feature_type) values
(1,1,'comedy','click','r','movie');

它一直告诉我指定的号码无效并指定一个号码,但我不知道这意味着什么,因为那里已有一个号码。我试着在网站上查看其他类似的问题,但其中大多数都比我在这里复杂得多。谢谢你的帮助。

编辑:同样,如果生效有用,则production_company_id是外键。

这是原始表:

CREATE TABLE show (
SHOW_ID number(6,0) PRIMARY KEY,
PRODUCTION_COMPANY_ID NUMBER(6,0) NOT NULL REFERENCES PRODUCTION_COMPANY (PRODUCTION_COMPANY_ID),
GENRE VARCHAR(25),
NAME_OF_SHOW VARCHAR(25),
MPAA_RATING VARCHAR(25),
FEATURE_TYPE VARCHAR(25)

);

1 个答案:

答案 0 :(得分:0)

请确保PRODUCTION_COMPANY_ID在表number中定义为PRODUCTION_COMPANY,因为在您创建show的表格中,production_company_id指的是该表格

如果没有,您可以修改列类型,如:

ALTER TABLE PRODUCTION_COMPANY
MODIFY PRODUCTION_COMPANY_ID number;

或者,如果您由于某种原因不想更改该列的类型,可以尝试:

insert into show (show_id,production_company_id, 
genre,name_of_show,mpaa_rating,feature_type) values
(1,'1','comedy','click','r','movie');