扫码关注官方订阅号
如题, 在表单修改数据时,如修改用户信息(用户名,头像,联系方式等等), 在修改完个别字段后提交修改(而有的字段没有修改) 那提交所有的字段update肯定会影响效率(尤其是有的字段数据需要经过处理,如中文转换拼音,截取等等) 这种情况大家都是怎么做的呢? 如何方便的只update修改过的字段?
谢谢
人生最曼妙的风景,竟是内心的淡定与从容!
可以使用MySQL的IF(expr1,expr2,expr3)函数.
类似于三元运算符? :, 表达式expr1为true(非null非0)时, 使用expr2值, 否则使用expr3 . IF()根据使用的上下文来返回数字或字符串.
? :
如,
--以下要空值或0值才更新. UPDATE table SET name = IF(name <> '', name, '空值要更新'), avatar = IF(avatar, avatar, '要更新') WHERE id = 1;
能不能先将旧的记录 select 出来,然后对用户提交的表单数据进行对比过滤,过滤掉未变化的字段后再 update。
select
update
get newData from user input select oldData from db compare newData with oldData => needUpdateData update needUpdateData in db
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以使用MySQL的IF(expr1,expr2,expr3)函数.
如,
能不能先将旧的记录
select出来,然后对用户提交的表单数据进行对比过滤,过滤掉未变化的字段后再update。