DEFAULT
MySQL は、列定義のオプションで計算された列または式をサポートしていません。
トリガーでこれを行うことができます (MySQL 5.0 以降が必要です)。
CREATE TRIGGER format_stage_name
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END
同様のトリガーを作成することもできますBEFORE UPDATE
。
aを他の文字列とNULL
連結すると. 必要に応じて、各列または連結された文字列で使用します。NULL
NULL
COALESCE()
編集:次の例はstage_name
、 の場合にのみ設定しますNULL
。stage_name
それ以外の場合は、INSERT
ステートメントでを指定でき、保持されます。
CREATE TRIGGER format_stage_name
BEFORE INSERT ON actors
FOR EACH ROW
BEGIN
IF (NEW.stage_name IS NULL) THEN
SET NEW.stage_name = CONCAT(NEW.forename, ' ', NEW.surname);
END IF;
END