CREATE TABLE preferences(
user_id INT,
hot_sid INT,
not_sid INT,
)Engine = InnoDB;
CREATE TRIGGER check_show_comparison
AFTER INSERT ON preferences
REFERENCING NEW ROW
FOR EACH ROW
WHEN ( hot_sid = not_sid )
ROLLBACK TRANSACTION;
所以我正在尝试使用 MYSQL 建立一个数据库来跟踪类似于热或不热的东西。实际目的并不重要,但基本上我有一个名为preferences 的表,它包含三列,第一列是用户ID,第二列和第三列是preference id,它们代表相同类型的对象。(以 hot or not 为例,hot_sid 将存储“hot”实体的 id,not_sid 将存储“not”实体的 id。这两个实体是同一类型)。
我试图在每次插入表时编写一个触发器,以防止有人添加一个具有相同 sid 的行。实施此检查约束时我做错了什么?我考虑过只使用检查约束,但我不相信它们实际上是在 MYSQL 中强制执行的。
感谢您的帮助!