您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL-将字段的默认值设置为字符串连接函数

MySQL-将字段的默认值设置为字符串连接函数

MysqLDEFAULT列定义选项中不支持计算列或表达式。

您可以在触发器中执行此操作(需要MysqL 5.0或更高版本):

CREATE TRIGGER format_stage_name 
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
  SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END

您可能还想创建一个类似的触发器BEFORE UPDATE

请注意NULL姓氏和姓氏,因为aNULL与任何其他字符串的连接会产生a NULL。使用COALESCE()每列或对所连接字符串作为适合。

以下示例stage_name仅在设置时设置NULL。否则,您可以stage_nameINSERT语句中指定,它将被保留。

CREATE TRIGGER format_stage_name 
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
  IF (NEW.stage_name IS NULL) THEN
    SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
  END IF;
END
MySQL 2022/1/1 18:46:06 有252人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶