IDEA:
如果我将一个项目分配给用户,该表格将保存在表格中,项目,用户,分配 指定,
table_item:
ID------INT
NAME----TEXT
COUNT---INT
table_user:
ID-------INT
NAME-----TEXT
table_assing:
ID------INT
USER----INT (user id)
ITEM----INT (item_id)
COUNT---INT (this is for subtractions from the column of COUNT table of item)
此处我想在插入表格时设置触发器( table_assing ),列 COUNT 的值应从 COUNT 表的列中减去 table_item
这可以在我可以设置为一次动作查询的PHP上,但是如果它可以在mysql上实现更好,更快更有效,并且需要大量代码
提前致以最诚挚的问候
答案 0 :(得分:1)
简单触发器
UPDATE table_item
SET table_item.count = (table_item.count - NEW.table_assign.count)
WHERE table_item.id = table_assign.item
答案 1 :(得分:1)
这样的事情应该有效。
DELIMITER $$
USE database_name$$
CREATE TRIGGER trigger_name AFTER INSERT ON table_asign FOR EACH ROW
BEGIN
UPDATE table_item SET count=count+NEW.count WHERE id=NEW.id;
END;$$
' NEW.id'指的是表格中的新行&table;'