2016-09-07 6 views
-1

table_userに挿入した後、user_notificationuser_recoverがnullになります。現時点では、このフィールドはブランクであり、フォームがPOSTデータに同じブランク値を送信するため、nullではありません。挿入後にトリガーを追加ブランク値nullに変換

このトリガーを作成する方法は?

+0

私はTABLE USERにレコードを挿入した後、FIELDS user_notificationとuser_recoverをnull値に設定したいと考えています。現時点では、これらの2つのフィールドは空の文字列に設定されています)空の文字列を送信したために " – rmcsharry

+0

トリガーは本当にこの問題を解決する正しい方法ではありません - トリガーはレコードが保存または更新されるたびに起動し、データベースのパフォーマンスに悪影響を及ぼします!空の文字列を渡さないようにフォームを変更するか、データベースに保存する前に空の文字列を削除してください。 – rmcsharry

答えて

0

は、私は解決策を見つけることがあります。

delimiter $$ 
create trigger nullify_blanks_ins before insert on your_table 
for each row begin 
    if new.string = '' then 
     set new.string = null; 
    end if; 
end; 
$$ 
create trigger nullify_blanks_upd before update on your_table 
for each row begin 
    if new.string = '' then 
     set new.string = null; 
    end if; 
end; 
$$ 
delimiter ; 

参考:前回の回答のためIs there a way in MySQL to automatically convert empty string to NULL value?

感謝。

関連する問題