将一个字段的值设置为mysql中另一个字段的默认值

时间:2014-01-13 13:55:33

标签: mysql sql database

我有一个表,如果在插入查询时密码列为空,我需要使用national_id值填充密码列。

有没有办法在mysql中使用触发器或类似的东西?

提前致谢

1 个答案:

答案 0 :(得分:2)

在插入前使用,触发:

触发器结构:

CREATE or REPLACE TRIGGER trigger_name
BEFORE INSERT
   ON table_name
   [ FOR EACH ROW ]

DECLARE
   -- variable declarations

BEGIN
   -- trigger code

EXCEPTION
   WHEN ...
   -- exception handling

END;

检查 Using Triggers以获取更多信息


更多/更不详细的例子

这样的事情应该起作用

免责声明:我无需测试此代码,必须完成

CREATE TRIGGER trigger_name BEFORE INSERT ON table_name
FOR EACH ROW 
    BEGIN
        IF NEW.password is null THEN
            SET NEW.password = NEW.national_id
        END IF;
    END;