gpt4 book ai didi

mysql - 配置以便没有记录可以相同

转载 作者:行者123 更新时间:2023-11-29 05:27:03 24 4
gpt4 key购买 nike

我记得在过去的项目中,我遇到过一条 MySQL 错误消息,该消息指出没有记录可以相同(所有列),因为这样就无法单独选择它们。不幸的是,我的 MySQL 没有给我这个错误,我遇到了问题。

我有一个表来存储用户最喜欢的主题(或者文章,如果你愿意的话),这很简单

CREATE TABLE `ad_favorites` (  
`ad_id` int(10) unsigned NOT NULL,
`user_id` int(10) unsigned NOT NULL,
KEY `ad_id` (`ad_id`),
KEY `user_id` (`user_id`),
CONSTRAINT `ad_favorites_ibfk_1` FOREIGN KEY (`ad_id`) REFERENCES `ad` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `ad_favorites_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

如果有这样的尝试,我需要不能插入两条相同的记录并得到一个错误,这样在我的 php 中我的 affected_rows 属性将显示 0。

长话短说,如果我有一条记录并尝试再次插入它,我一定会遇到 MySQL 错误,这可能吗?

最佳答案

使两列成为复合主键,

PRIMARY KEY (ad_id, user_id)

关于mysql - 配置以便没有记录可以相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967775/

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