如果我有Laravel eqoquent模型(或纯mysql),并且尝试更新10条记录:
UPDATE users SET active = 1 WHERE is_admin IN (2,3);
我将如何知道哪些记录已更新。
MySQL中是否有任何函数可以返回更新的ID。
我需要他们
谢谢
答案 0 :(得分:4)
否,mysql中没有函数可以返回已更新记录的ID。为什么?因为您已经知道要更新的记录:与movies
查询的where
条件相对应的记录。只有一个函数会通过查询告诉您how many records got affected。
如果您想确切地知道查询更新了哪些记录,则需要查询在更新之前可以更新的记录的字段和ID,然后在更新之后比较值。值更改的地方是更新的记录。
或者,您可以在表中添加一个timestamp列,如果更新了记录,该列将被修改。更新后,您可以查询哪些记录已更新。