gpt4 book ai didi

如果两个不同的作者在书籍数据库中具有相同的名字,则出现 SQL 问题

转载 作者:行者123 更新时间:2023-11-29 04:30:22 26 4
gpt4 key购买 nike

只是想知道如果在我的图书数据库中我有两个同名的不同作者会发生什么。我怎样才能重新设计我的数据库来解决这个问题?我是否必须分配主键和辅助键或其他东西?顺便说一句,这个问题与我之前的问题有关。

最佳答案

AUTHORS 表将有助于您的图书数据库 - 您可以存储作者信息一次,但将其与多本书相关联:

DROP TABLE IF EXISTS `example`.`authors`;
CREATE TABLE `example`.`authors` (
`author_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`firstname` varchar(45) NOT NULL,
`lastname` varchar(45) NOT NULL,
PRIMARY KEY (`author_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

书籍可以有多个作者,因此您需要一个多对多表来关联作者和书籍:

DROP TABLE IF EXISTS `example`.`book_authors_map`;
CREATE TABLE `example`.`book_authors_map` (
`book_id` int(10) unsigned NOT NULL,
`author_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`book_id`,`author_id`),
KEY `FK_authors` (`author_id`),
CONSTRAINT `FK_books` FOREIGN KEY (`book_id`) REFERENCES `books` (`book_id`),
CONSTRAINT `FK_authors` FOREIGN KEY (`author_id`) REFERENCES `authors` (`author_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

关于如果两个不同的作者在书籍数据库中具有相同的名字,则出现 SQL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3451341/

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