gpt4 book ai didi

java - 我正在尝试找到一种方法来处理 key '1' 的重复条目 'movieID' 的错误 1062

转载 作者:行者123 更新时间:2023-12-02 09:39:12 28 4
gpt4 key购买 nike

我正在尝试找到一种方法,将键 1 的重复值存储在 movieID 的多个流派中。

我已经尝试过在 table 上自动增量,但仍然有这些错误

创建表 movie_genres (movieID INT NOT NULL AUTO_INCRMENT,类型 VARCHAR(50) NOT NULL,主键(电影ID),外键(movieID)引用电影(ID));

错误 1062:1062:键“movieID”的条目“1”重复SQL语句:INSERT INTO movie.movie_genres (movieID, genre) VALUES ('1', 'Animation')

错误 1062:1062:键“movieID”的条目“1”重复SQL语句:INSERT INTO movie.movie_genres (movieID, genre) VALUES ('1', 'Children')

错误 1062:1062:键“movieID”的条目“1”重复SQL语句:INSERT INTO movie.movie_genres (movieID, genre) VALUES ('1', '喜剧')

错误 1062:1062:键“movieID”的条目“1”重复SQL语句:INSERT INTO movie.movie_genres (movieID, genre) VALUES ('1', '奇幻')

最佳答案

您的数据库设计存在一些基本问题,特别是它缺少将电影与其类型(1 到 n)相关联的连接表。以下是关于您的架构的一项建议:

CREATE TABLE movies (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255)
);

CREATE TABLE genres (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
genre VARCHAR(255)
);

CREATE TABLE movie_genres (
movieID INT NOT NULL,
genreID INT NOT NULL,
PRIMARY KEY (movieID, genreID)
);

现在,有了这个架构,您的插入可能如下所示:

INSERT INTO movies (ID, title) VALUES (1, 'Avatar');

INSERT INTO genres (ID, genre)
VALUES
(1, 'Animation'), (2, 'Children'), (3, 'Comedy'), (4, 'Fantasy');

INSERT INTO movie_genres (movieID, genreID)
VALUES
(1, 1), (1, 2), (1, 3), (1, 4);

这里的基本思想是电影和类型表的存在只是为了跟踪......电影和类型。他们对彼此一无所知。为了处理电影和流派之间的关系,更新后的 movie_genres 表开始发挥作用。它仅存储电影及其相应类型的 ID。

关于java - 我正在尝试找到一种方法来处理 key '1' 的重复条目 'movieID' 的错误 1062,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57234075/

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