Create mysql trigger via PHP?

前端 未结 3 1029
挽巷
挽巷 2020-12-03 18:52

I\'m executing the following in PHP5.3:

$sql = \"
CREATE TRIGGER `_photo_fulltext_insert` AFTER INSERT ON `photo` FOR EACH ROW INSERT INTO `_photo_fulltext`          


        
3条回答
  •  长情又很酷
    2020-12-03 19:20

    While the mysqli doesn't to anything with DELIMITER in multi-query statements, it actually doesn't do anything with any delimiters at all in normal queries, so just shove your triggers in one by one:

    $ cat i.php 
    query($sql);
    var_dump($mysqli->error);
    $ php i.php 
    string(0) ""
    $ mysql
    mysql> use test;
    
    Database changed
    mysql> show triggers\G
    *************************** 1. row ***************************
                 Trigger: _foo_fulltext_update
                   Event: UPDATE
                   Table: foo
               Statement: BEGIN
        DELETE FROM `bar` WHERE `bar`=NEW.`bar`;
        INSERT INTO `bar` (bar) SELECT bar FROM `foo` WHERE `bar`=NEW.`bar`;
      END
                  Timing: AFTER
                 Created: NULL
                sql_mode: 
                 Definer: root@localhost
    character_set_client: latin1
    collation_connection: latin1_swedish_ci
      Database Collation: utf8_general_ci
    1 row in set (0.00 sec)
    

提交回复
热议问题