1
私は、INSERT値が空の文字列である場合に、列の値をDEFAULTに設定するTRIGGERを作成していました。MySQL - カラムのデフォルト値を取得できますか?
私TRIGGERは、次のようになります。
CREATE TRIGGER column_a_to_default
BEFORE INSERT ON table
FOR EACH ROW
BEGIN
IF NEW.a = '' THEN
SET NEW.a = 'some value';
END IF;
END
私は列のデフォルト値に設定する方法で「何らかの値」を置き換えることができますかどうかを知りたいと思います。すなわち
SET NEW.a = a.DEFAULT
これは、あなたが
SET NEW.a = DEFAULT(NEW.a)
EDITのために働く必要がありますおかげ
うわー、私の周りに検索しようとすることができ、何と擬似コードを見つけることができませんでした
使用この回避策
は本当に近かったです。ありがとう! – hungerstar
実際には、指定された値がTRIGGERのIF文と一致する場合、 "Column 'a'はnullにはなれません"という警告が表示されます。 – hungerstar
またはそれより良い 'DEFAULT(a)'。 MySQLの['DEFAULT()'](http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_default)関数を参照してください。 –