如何从带有增量ID

时间:2017-05-27 13:17:31

标签: php mysql sql wordpress triggers

我将Wordpress与数据库一起使用。我的问题是我想在使用wpdb-> insert时检索插入的ID。我想澄清一下,我使用数据库触发器增加ID,因为我的表是一个相对实体。我正在考虑创建一个我插入后会调用的过程。

我的触发器

BEGIN
  DECLARE num INTEGER;
  IF NEW.id IS NULL THEN
    SET num =  
    (
      SELECT MAX(id) + 1
      FROM ab_autreFrais
      WHERE idDevis = NEW.idDevis
    );
    SET NEW.id = num;
  ELSEIF NEW.id = 0 THEN
    SET num = 
    (
      SELECT MAX(id) + 1
      FROM ab_autreFrais
      WHERE idDevis = NEW.idDevis
    );
    SET NEW.id = num;
  END IF;
END

2 个答案:

答案 0 :(得分:1)

您可以使用LAST_INSERT_ID()功能代替触发器。您还可以通过存储的procrdure的输出参数获取此值 或者您可以使用辅助表或全局变量从触发器中输入id值。例如:

... 
SET NEW.id = num;
UPDATE `SysData` SET `LastID` = num;
... 

答案 1 :(得分:0)

@Alexander UPDATE ``SysData`` SET ``LastID`` = num;不适用于MySQL SysData不存在。我在phpmyadmin的sql中使用了SET SESSION last_insert_id = num但是当我调用last_insert_id()时它使用wpdb它返回0