gpt4 book ai didi

MySQL - 当进入只有外键的表时插入语句失败

转载 作者:太空宇宙 更新时间:2023-11-03 10:47:07 28 4
gpt4 key购买 nike

所以我的表看起来像这样(来自 "Show Create Table <table>" 查询):

CREATE TABLE stars_in_movies(
star_id int NOT NULL,
movie_id int NOT NULL,
KEY 'star_id' ('star_id'),
KEY 'movie_id' ('movie_id'),
CONSTRAINT 'stars_in_movies_ibfk_1' FOREIGN KEY('star_id') REFERENCES 'stars'('id'),
CONSTRAINT 'stars_in_movies_ibfk_2' FOREIGN KEY('movie_id') REFERENCES 'movies'('id'),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我正试图简单地在这个表中输入一个新条目:

INSERT INTO stars_in_movies (907010, 834410);

我得到如下错误:

ERROR 1064 (4200): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to user near '907010, 834410)' at line 1

现在我知道这个错误只是一个语法错误,但为什么我会收到这样一个简单的 INSERT 查询的错误?网上到处都表明这将是一个有效的声明,特别是如果两个输入字段是来自其他两个引用表的 ACTUAL id。

编辑:

好吧,对于这个简单的例子,我只是缺少了 VALUES关键词。补充一下这个问题,为什么这个查询会返回相同的错误?

INSERT INTO stars_in_movies
VALUES
(693109, m.id)
SELECT m.id
FROM movies m
WHERE m.title='Inception';

最佳答案

您似乎缺少 VALUES 关键字。

INSERT INTO stars_in_movies (star_id, movie_id) VALUES (907010, 834410)
^^^^^^

关于MySQL - 当进入只有外键的表时插入语句失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30084760/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com