如何使用触发器(MySQL)在插入时更改同一表的字段值

如何使用触发器(MySQL)在插入时更改同一表的字段值,mysql,sql,database-trigger,Mysql,Sql,Database Trigger,我有一个“示例表”,它有几个字段。我想在插入到同一个表中时更改“example_field”值,当example_field='Faiyaj'和example_field_两个类似'096%'时,然后我想设置example_field='Faiyaj11' 这是我的迁移表(UP函数): 我在迁移表中使用了上述触发器,但它不起作用,也没有在数据库中插入任何值。我试过几次扳机,但都失败了。(插入之前/之后)我今天已经解决了这个问题。以下是解决方案: $insertTrigger = "CREATE

我有一个“示例表”,它有几个字段。我想在插入到同一个表中时更改“example_field”值,当example_field='Faiyaj'和example_field_两个类似'096%'时,然后我想设置example_field='Faiyaj11'

这是我的迁移表(UP函数):


我在迁移表中使用了上述触发器,但它不起作用,也没有在数据库中插入任何值。我试过几次扳机,但都失败了。(插入之前/之后)

我今天已经解决了这个问题。以下是解决方案:

$insertTrigger = "CREATE TRIGGER example_table_generator_insert BEFORE INSERT ON example_table
FOR EACH ROW IF NEW.example_field = 'Faiyaj' AND NEW.example_field_two LIKE '096%' THEN SET NEW.example_field = 'Faiyaj11';
END IF;";

$this->unprepared($insertTrigger);

$insertTrigger = "CREATE TRIGGER example_table_generator_insert BEFORE INSERT ON example_table
FOR EACH ROW IF NEW.example_field = 'Faiyaj' AND NEW.example_field_two LIKE '096%' THEN SET NEW.example_field = 'Faiyaj11';
END IF;";

$this->unprepared($insertTrigger);