2
|
Sam Johannes Rudolph · 技术社区 · 14 年前 |
![]() |
1
6
我想说,这两种方式都不重要-您发送到服务器的查询的大小在这里几乎不相关,并且没有不公正地更新的列的“最后更新”信息,所以… 顺便说一下,我在处理这些数据负载时喜欢做的是创建一个临时数组。
这里唯一要注意的是,您必须小心不要将变量名放入
更新: 子母弹指出,使用变量并不是一个好的做法,这是正确和有效的。虽然我认为在函数范围内使用变量是完全可以接受的,但是最好不要使用它们。更好的方法是清理所有传入字段并使其成为可用的形式:
这将为您留下一个可以使用的数组:
|
![]() |
2
1
只需运行一个更新所有列的查询:
|
![]() |
3
1
我建议您使用所有列值执行更新。这比试图确认该值与当前数据库中的值不同要便宜。不管怎样,这个确认都是无关紧要的,因为如果有人更新了数据库中的值,在您检查它们之后,它们可能会立即发生变化。 如果您对MySQL发出更新,并且这些值与数据库中已有的值相同,那么更新将是禁止操作的。也就是说,MySQL报告了零行受影响。 MySQL知道在更新期间不要做不必要的工作。 如果只有一列发生变化,MySQL就需要做一些工作。它只更改不同的列,但仍然创建新的行版本(假设您使用的是InnoDB)。 当然,实际上需要做少量的工作才能将update语句发送到mysql服务器,以便与现有的行进行比较。但在现代服务器上,这通常只需要百分之一毫秒。 |
![]() |
4
0
是的,可以更新每个字段。
用途:
|
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |