我试图在 mysqli 中设置一个触发器,在我插入一行后
tblallocation
(AllocID,
AssetID,
AssetName ,
AssetModel,
Custody,
Location,
Discontinued,
DiscDate
DateAlloc,
ReturnStockDate)
触发器更新 tblassets 并设置 allocated= true
(assetID,
Asset,
Brand,
Model,
Serial,
AssetCondition,
description,
Location,
Allocated)
我按如下方式编写触发器,但它不起作用:
CREATE TRIGGER `change to allocated` AFTER INSERT ON `tblallocation`
FOR EACH ROW update tblassets SET allocated=1
where tblassets.AssetID =tblallocation.MAX(AssetID)
最佳答案
如果不可能同时进行另一个插入,您可以继续使用 LAST_INSERT_ID()
MYSQL提供的函数来获取最后插入的行的唯一id。 (更多引用请查看http://dev.mysql.com/doc/refman/5.7/en/getting-unique-id.html)
但是,如果这不适合您,那么您可以使用子查询而不是 tblallocation.MAX(AssetID)。
子查询应该类似于
SELECT AssetID from tblallocation order by AssetID desc LIMIT 1;
希望这有帮助。
关于MYSqli 更新最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41138331/