MySQL - 设置动态默认值

MySQL - set dynamic default value

我的 MySQL 数据库中有 table 个用户。是否可以将列 profile_url 的默认值设置为列 Id 的值?

您可以使用 trigger 来实现该功能。例如:

CREATE TRIGGER defaultUrl
BEFORE INSERT ON MyTable
FOR EACH ROW 
SET NEW.profile_url = IFNULL(NEW.profile_url, NEW.id);

该表达式创建了一个名为 defaultUrl 的触发器,该触发器在插入到 MyTable 中的每一行之前激活。如果 defaultUrlNULL,则使用 id 值。