我创建了一个内容管理表。我不熟悉Mysql触发器。
Key Default
a varchar(50)
b varchar(50)
c text
status varchar(100)
这是我的表。我创建了一个触发器当每个表更新表改变状态时。
DELIMITER $$
CREATE TRIGGER tr2 BEFORE insert or UPDATE ON p
FOR EACH ROW BEGIN
SET NEW.status = '1';
END;
$$
DELIMITER ;
此触发器仅在修改行时更新。如何创建触发器以更改"状态"在每次插入和更新期间..请帮助我任何一个
答案 0 :(得分:0)
这是不正确的语法。只需在更新前创建一个触发器
DELIMITER $$
CREATE TRIGGER tr2 BEFORE UPDATE ON p
FOR EACH ROW BEGIN
SET NEW.date = '1';
END;
$$
DELIMITER ;
并为列status = '1'
设置默认值。
CREATE TABLE p(
a varchar(50),
b varchar(50),
c text,
status varchar(100) NOT NULL DEFAULT '1'
);
这样,无论何时向p中插入行并且未指定status的值,状态都将为1
。您可以创建另一个触发器BEFORE INSERT
,但我不建议这样做。而上述解决方案也是如此。