这是我的SQL:
INSERT INTO film (film_id, title, description, release_year, language_id, original_language_id,
rental_duration, rental_rate, length, replacement_cost, rating, special_features, last_update)
VALUES ('1001','1 st Grade FBI Agent','An undercover FBI agent must pretend to be
a 1st grade teacher to catch the bad guy', '2014','2','null', '5', '4.99', '123', '2014',
'20.99', 'PG-13', 'Tailers');
这是我运行时遇到的错误。这是我用于课程作业的预设数据库,我被告知要在电影表中插入一个新行。
错误代码:1452。无法添加或更新子行:外键约束失败(sakila
。film
,CONSTRAINT fk_film_language_original
FOREIGN KEY(original_language_id
)参考language
(language_id
)ON UPDATE CASCADE)
答案 0 :(得分:1)
original_language_id的值必须与语言表中一行的language_id值匹配。此要求是由电影桌上的foreign key引起的。
如果此值为整数,则不应用引号括起来。
答案 1 :(得分:0)
您的SQL语句正在尝试为null'
表中的original_language_id
字段插入&{39; film
值。
看起来这个original_language_id
是一个引用language_id
表中language
的FOREIGN KEY,很可能是该表上的PRIMARY KEY。
答案 2 :(得分:0)
看起来你正在给予' null'作为original_language_id的值。检查您的语言表中是否为null值。如果你想插入值null ....写它只是null而不是' null'。
答案 3 :(得分:0)
似乎" original_language_id"是"语言"的外键。表格和您要插入的值,即' null'在这种情况下不在父表(语言)中。
答案 4 :(得分:0)
我在你的陈述中看到了一些问题。但要回答所提出的问题,请查看"语言"表。您在original_language_id中输入的值必须是language.language_id列中的值之一(或null,请参见下文)。
至于其他东西,一些用户已经评论过null值。 null是一个关键字,不应该在引号中。
此外,您的最后4个值似乎与字段列表的顺序不同。