我想要的代码是,如果任何新列的值为空 将其更改为ROW BEFORE WITH TRIGGER EVENT的值

CREATE TRIGGER updateField BEFORE INSERT ON message
       FOR EACH ROW 
 
       IF (NEW.COLUMN IS NULL) then
       set NEW.COLUMN = SELECT THE_COLUMN FROM Table ORDER BY ID DESC LIMIT 1;
       
       END IF

推荐答案

你还必须有BEGIN分和END分. 如果您有超过一个代码行

DELIMITER $$
CREATE TRIGGER updateField BEFORE INSERT ON message
       FOR EACH ROW 
         BEGIN
               IF (NEW.COLUMN IS NULL) then
                    set NEW.COLUMN = (SELECT THE_COLUMN FROM Table1 ORDER BY ID DESC LIMIT 1);       
               END IF;
        END$$
DELIMITER ;

Mysql相关问答推荐

对象NotExecutabletry 在远程SQL服务器上执行SQL时出错,并使用SQLAchemy.Create_engine

MySQL在带有特定属性值上的对象的数组的杨森对象中搜索

MySQL:一个查询中的SELECT语句,用于从一个表中检索所有数据,并仅从另一个表中检索一个数据

表列中的SQL SUM MENY值记录单个查询

对匹配两个或多个表的表结果进行排序

为什么order by子句可以利用索引?

SQL / MySQL:如何在WHERE IN中判断类似于OR的AND逻辑

提取 MySQL 5.7 连续值的差异

使用 JOIN 计算列中的所有值

即使我的约束是正确的,如何解决 errno: 150 外键约束形成错误?

MySQL - 计算行重复的最大计数

动态创建内联 SQL 表(用于排除左连接)

错误 1396 (HY000): 'user'@'localhost' 的操作 DROP USER 失败

如何存储重复日期牢记夏令时

MySQL 中的 VARCHAR(255) 和 TINYTEXT 字符串类型有什么区别?

外键可以引用非唯一索引吗?

如何在 MySQL 的日期时间字段中存储 NULL 值?

如何从两个不同的日期获得年份差异?

如何将本地托管的 MySQL 数据库与 docker 容器连接

与 MySql 的连接正在自动中止.如何正确配置Connector/J?