mysql - 每当字段为 null(空)时就会触发 Sql

标签 mysql sql

假设我在 sql 表中有两个特定字段,to_changeisn't_null

如果我想创建一个 sql 触发器,每当 isn't_null 得到 时,将 to_change 变为 5归零

最佳答案

你可以这样做:

CREATE TRIGGER change_field_if_other_field_is_null 
BEFORE UPDATE ON your_table
FOR EACH ROW SET NEW.to_change = IF (NEW.isnt_null IS NULL, 5, NEW.to_change);

在每个 UPDATE 语句中,当其他字段设置为 NULL 时,此触发器会将字段“to_change”更改为 5。

请注意,如果您希望此逻辑也适用于新插入的行,则需要在 BEFORE INSERT 创建一个类似的触发器。

关于mysql - 每当字段为 null(空)时就会触发 Sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22491433/

相关文章:

mysql - phpMyAdmin 内部服务器错误 500 - 无效的 JSON

sql - 别名FOR XML PATH结果

php - IOS Web 服务推荐

php - 使用字母范围查询 Eloquent 模型

php - Yii 关系查询与 MySQL 的 SUM

sql - 作为 UDF 结果的列上的 Where 子句

java - "UCanAccess: user lacks privilege or object not found"第二个连接

php - SQL查询优化转换

php - 将mysql表的内容迁移到另一个表

php - Jquery+PHP+Mysql : Change value of input field from change on Select Box