Как поставить условие сравнение двух полей в таблице MySQL?
Точнее возможно ли...
Для практики создаю систему друзей (надо же когда-нибудь попробовать) через две таблицы: первая связи друзей и вторая запросы дружбы.
В связях друзей есть два поля user_1 и user_2 и придумал сделать так чтоб первое поле это всегда юзер с наименьшим id, так как строгий ключ (user_1, user_2) будет лучше. И хочется создать условия, где значение user_2 всегда больше user_1, а иначе ошибка. Чтоб когда если делался INSERT с user_1 больше второго, то ошибка.
Возможно ли?
CREATE TRIGGER `before_insert_table` BEFORE INSERT ON `table` FOR EACH ROW BEGIN
IF `NEW`.`field_1` > `NEW`.`field_2` THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'An error occurred';
END IF;
END
Albert Kazan, это не относится к существующему вопросу. Вам нужно сформулировать и опубликовать новый вопрос касательно проектирования базы данных или воспользоваться поиском по сайту :)
делайте INSERT через хранимую процедуру. но вообще - бред. за что люблю тостер так это за то что иной раз такое прочитаешь, что долго потом думаешь как у людей до такого сознание расширяется.