【发布时间】:2017-08-22 09:15:48
【问题描述】:
我的问题基本上是在 PHP 函数的 INSERT 数据之后没有触发触发器(MySQL),我不知道为什么。当我从 MySQL Workbench 插入数据时,触发器会正常触发。
下面是一个示例代码以便更好地理解:
PHP函数:
public function insert($data){
$result = mysql_query("INSERT INTO Table(Column) VALUES('$data')");
if($result){
return true;
}
return false;
}
触发器:
delimiter //
CREATE TRIGGER last_id AFTER INSERT ON Table
FOR EACH ROW
BEGIN
SET @lastid = NEW.Id;
END;//
最后,例如,当我从 MySQL Workbench 执行此查询时:
INSERT INTO Table(Column) VALUES(1)
触发器正常触发。
注意: PHP 函数也成功插入数据,唯一的问题是它没有触发触发器。
【问题讨论】:
-
我觉得你应该使用 insert into Table(lastid) Values(New.id) 而不是 SET @lastid=New.ID
-
@aroy Alejo 已经说过触发器在从工作台插入时执行。这意味着触发器没有问题
-
感觉OP需要升级到mysqli stackoverflow.com/questions/13569/…
标签: php mysql triggers insert mysql-workbench