如何防止在一个有两列且没有唯一标识的表中创建重复行?这能够仅使用MySQL完成还是需要通过PHP脚本进行检查?
以下是问题表的CREATE查询(还有另外两个表,users和roles):
CREATE TABLE users_roles (
user_id INT(100) NOT NULL,
role_id INT(100) NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (role_id) REFERENCES roles(role_id)
) ENGINE = INNODB;
如果执行以下查询超过一次,我希望会出现错误提示:
INSERT INTO users_roles (user_id, role_id) VALUES (1, 2);
请不要将位掩码作为答案推荐。
谢谢!