Как предотвратить создание дублирующейся строки в таблице с двумя столбцами, ни один из которых не является уникальным? И может ли это быть сделано только с использованием 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);
Пожалуйста, не рекомендуйте битовые маски в качестве ответа.
Спасибо!