当我们使用php更新MySQL记录时,可以使用以下命令检查其是否有效:
$mysqli->affected_rows;
但是如何检查哪一列已被修改?
示例,在我的表中有以下列: id /姓名/年龄
在记录中,我们有以下数据: 1 / Woton / 18
如果我发送:UPDATE mytable SET name = 'Woton', age = '20' WHERE id = '1'
仅年龄字段已更改。我该如何确定?
答案 0 :(得分:2)
您不能直接从查询结果中获取更新的列。
可以从某些php查询中获取。首先,我们必须从数据库中选择要在数组变量中更新的行。比对同一行运行更新查询。
从新数组变量中的select查询中最后从数据库中获得同一行。
最后我们得到两个数组。
我们可以使用array_diff_assoc php函数获取更新的列。
请参见以下代码。
library(vecsets)
q <- c("a", "b")
p1 <- c("a", "b")
vunion(p1, q, multiple = TRUE)
[1] "a" "b"
p2 <- c("a", "a", "b")
vunion(p2, q, multiple = TRUE)
[1] "a" "b" "a"
答案 1 :(得分:1)
另一注:如果已在数据库中启用QueryLog,则您(或您的PHP或Python脚本或其他脚本)可以轻松查看/读取内容的哪一部分已更新,甚至可以监视数据库。
好消息是,即使您可以定位哪个表,哪个查询等。