php - update修改数据的问题
黄舟
黄舟 2017-04-10 14:44:09
[PHP讨论组]

如题, 在表单修改数据时,如修改用户信息(用户名,头像,联系方式等等), 在修改完个别字段后提交修改(而有的字段没有修改) 那提交所有的字段update肯定会影响效率(尤其是有的字段数据需要经过处理,如中文转换拼音,截取等等) 这种情况大家都是怎么做的呢? 如何方便的只update修改过的字段?

谢谢

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
ringa_lee

可以使用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

get newData from user input
select oldData from db
compare newData with oldData => needUpdateData
update needUpdateData in db
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号