我记得在过去的项目中,我遇到过一条 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 错误,这可能吗?