Php 我的SQL触发器

Php 我的SQL触发器,php,mysql,triggers,Php,Mysql,Triggers,是否可以设置一个mysql触发器,在数据库中有插入时触发该记录的id号,以及如何使用php捕获该id号?我不太确定您在问什么。是否要在数据库中插入一行并获取分配给它的id?如果是这样,请这样做 printf(“上次插入的记录的id为%d\n”,mysql_insert_id()) 除非我不完全理解您的问题,否则您不需要为此设置触发器-只需使用数据库驱动程序的“最后插入的ID”功能即可 下面是一个在PHP中使用基本mysql驱动程序的示例 <?php $db = mysql_connect

是否可以设置一个mysql触发器,在数据库中有插入时触发该记录的id号,以及如何使用php捕获该id号?

我不太确定您在问什么。是否要在数据库中插入一行并获取分配给它的id?如果是这样,请这样做


printf(“上次插入的记录的id为%d\n”,mysql_insert_id())

除非我不完全理解您的问题,否则您不需要为此设置触发器-只需使用数据库驱动程序的“最后插入的ID”功能即可

下面是一个在PHP中使用基本mysql驱动程序的示例

<?php

$db = mysql_connect( 'localhost', 'user', 'pass' );

$result = mysql_query( "insert into table (col1, col2) values ('foo', 'bar')", $db );

$lastId = mysql_insert_id();

您不需要触发器来完成您正试图做的事情

只需调用PHP的
mysql\u insert\u id
即可返回上次执行的insert查询生成的id

此处描述:

如前面的答案所述,您不需要使用触发器来返回标识。您可以使用mysql_insert_id()命令,如[文档][1]中所述

但是,如果需要在触发器中使用新的插入id,请按如下所示使用新的。[identity\u column\u name]:

CREATE TABLE temp (
    temp_id int auto_increment,
    value varchar(10),
    PRIMARY_KEY(temp_id)
);

CREATE TRIGGER after_insert_temp AFTER INSERT ON temp
FOR EACH ROW 
BEGIN
    DECLARE @identity;
    SET @identity = NEW.temp_id;
    -- do something with @identity
END