2017-02-04 8 views
0

私は同じテーブル "クライアント"の2つのフィールド(ファーストネーム&)を挿入時に大文字にしたいと考えています。mysql - 同じイベントと時刻の複数のステートメント

mysql> show triggers LIKE 'clients'\G; 
*************************** 1. row *************************** 
      Trigger: ucase_insert 
       Event: INSERT 
       Table: tlc 
      Statement: SET NEW.firstname = upper(NEW.firstname) 
       Timing: BEFORE 
      Created: 2017-02-04 11:53:45.87 
      sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 
      Definer: [email protected]% 
character_set_client: utf8mb4 
collation_connection: utf8mb4_unicode_ci 
    Database Collation: utf8_general_ci 

私はインタフェースとしてphpmyadminを使用します。最初のものと同じイベントと時間でトリガすることになっている...私は...のような

  Statement: SET NEW.lastname = upper(NEW.lastname) 

をさらに第二次のステートメントを追加することができないようです。

これは可能ですか?

答えて

0

解決策が見つかりました。 BEGIN/ENDを使用すると、複数のステートメントを含めることができます。些細なことだと思うけど、私にはかなりの時間がかかりました...

mysql> show triggers LIKE 'clients'\G; 
*************************** 1. row *************************** 
      Trigger: ucase_insert 
       Event: INSERT 
       Table: tlc 
      Statement: BEGIN 
SET NEW.firstname = upper(NEW.firstname); 
SET NEW.lastname = upper(NEW.lastname); 
END 
      Timing: BEFORE 
      Created: 2017-02-04 11:53:45.87 
      sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 
      Definer: [email protected]% 
character_set_client: utf8mb4 
collation_connection: utf8mb4_unicode_ci 
    Database Collation: utf8_general_ci 
関連する問題