1

我有一个 MySql (InnoDb) 表,表示对多种类型的对象之一所做的评论。因为我使用的是Concrete Table Inheritance,所以下面显示的每种类型的对象(商店、类别、项目)都有一个不同的外键。对于每条记录,必须设置一个外键,另外两个必须为空。如何在 MySql 中指定此约束?

CREATE TABLE `tbl_comment` (
  `comment_id` bigint(20) NOT NULL AUTO_INCREMENT,  /* primary key */
  `_user_id` bigint(20) NOT NULL,   /* foreign key to user table - always set (NOT NULL) */

  `store_id` int(11) DEFAULT NULL,  /* foreign key to store table */
  `category_id` bigint(20) DEFAULT NULL,  /* foreign key to category table */
  `item_id` bigint(20) DEFAULT NULL,  /* foreign key to item table */
...
4

1 回答 1

0

尝试添加以下触发器

CREATE TRIGGER on_insert AFTER INSERT ON `tbl_comment`
FOR EACH ROW
BEGIN
   SET NEW.category = NULL, NEW.item = NULL;
END;
于 2012-11-17T08:28:04.777 回答