BEFOREINSERTトリガーとBEFOREUPDATEトリガーを作成できます 次のように、名前フィールドをCONCAT_WS(''、first_name、middle_name、last_name)の値に設定します...ただし、これは行わないでください。それはひどい考えです。名前列は一切保存しないでください。名前を選択する場合は、CONCAT_WS(''、first_name、middle_name、last_name)ASfull_nameを選択するだけです。
連結している値のいずれかがnullの場合、CONCATはnullを返すことに注意してください。そのため、代わりにCONCAT_WS(区切り文字付き)を使用することをお勧めします。リスト内のいずれかの値がnullの場合、その値を省略して残りの値を使用します。
これを行うことにした場合、トリガーは次のようになります。
CREATE TRIGGER name_update BEFORE UPDATE ON member
FOR EACH ROW
BEGIN
SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
END;
CREATE TRIGGER name_insert BEFORE INSERT ON member
FOR EACH ROW
BEGIN
SET NEW.name = CONCAT_WS(' ', NEW.first_name, NEW.middle_name, NEW.last_name);
END;
お役に立てば幸いです。