我在PHPMyAdmin上设置我的一对多关系时遇到问题
这是tbl_books
book_id(主键) bookcat_id_fk(外键'更新限制,删除限制') BOOKNAME bookdesc
这是tbl_bookcat
bookcat_id(主键) bookcat_name
两个之间的关系应该是MANY书籍中有一个类别,所以是一对多的关系。
我遇到的问题是我收到错误:关键bookcat_id_fk重复输入'1'
这意味着由于这个原因,我无法将更多书籍分配到同一类别,因此我的一对多关系无效。我已经搜索了但我能找到答案,我想知道你是否可以帮助我。
感谢。
答案 0 :(得分:0)
我怀疑你的密钥定义bookcat_id_fk
是独一无二的,但是没有看到完全转储不确定。无论如何,我相信这是你想要实现的目标:
CREATE TABLE IF NOT EXISTS `tbl_bookcat` (
`bookcat_id` int(11) NOT NULL,
`bookcat_name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `tbl_books` (
`book_id` int(11) NOT NULL,
`bookcat_id_fk` int(11) NOT NULL,
`bookname` varchar(255) NOT NULL,
`bookdesc` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `tbl_bookcat`
ADD PRIMARY KEY (`bookcat_id`);
ALTER TABLE `tbl_books`
ADD PRIMARY KEY (`book_id`),
ADD KEY `bookcat_id_fk` (`bookcat_id_fk`);
ALTER TABLE `tbl_bookcat`
MODIFY `bookcat_id` int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_books`
MODIFY `book_id` int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE `tbl_books`
ADD CONSTRAINT `tbl_books_ibfk_1` FOREIGN KEY (`bookcat_id_fk`) REFERENCES `tbl_bookcat` (`bookcat_id`);