我试图在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)
最佳答案
如果在此期间不可能再进行一次插入,则可以继续使用MYSQL提供的LAST_INSERT_ID()
函数来获取最后插入的行的唯一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;
希望这可以帮助。
关于mysql - MYSqli更新最后一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41138331/