問題描述:
在mysql中 user表中新增用戶默認密碼為123456,但是在數據庫中顯示不能為明文,而mysql的默認字段不能用函數
解決方法:
用觸發器
delimiter |
drop trigger if exists default_user_pwd;
create trigger default_user_pwd before insert on user
for each row
if (new.pwd is null or new.pwd ='' or new.pwd ='123456' )then
set new.pwd = ENCODE('123456','password');
end if;|
使用范圍
可以檢測某些值是否null 或者為空
補充:
由於encode 和decode 在使用中會生成空白字符串的問題
改用base64
delimiter |
drop trigger if exists default_user_pwd;
create trigger default_user_pwd before insert on user
for each row
if (new.pwd is null or new.pwd ='' or new.pwd ='123456' )then
set new.Pwd = to_base64('123456');
end if;|
