如何更新MySQL表现有记录?将PC@ABC格式改为纯名称格式
解决MySQL中去除@后缀更新记录的方法
嗨,这个需求很常见,我来给你一步步说清楚怎么操作:
第一步:先测试效果(避免直接更新出错)
首先你得确认你的表名和字段名,假设你的表叫devices,存储设备名称的字段是device_name。先执行这条查询语句,看看处理后的结果是不是你想要的:SELECT device_name, SUBSTRING_INDEX(device_name, '@', 1) AS new_device_name FROM devices;这里用到的
SUBSTRING_INDEX是MySQL内置函数,作用是按指定分隔符(这里是@)切割字符串,第三个参数1表示取分隔符前面的第一个部分。执行后你就能看到原来的PC@ABC会变成PC,完全符合你的需求。第二步:执行更新操作
如果测试结果没问题,就可以执行更新语句了。如果只想更新包含@的记录(避免误改本来就是纯名称的记录),用这条更稳妥的语句:UPDATE devices SET device_name = SUBSTRING_INDEX(device_name, '@', 1) WHERE device_name LIKE '%@%';要是你确定所有记录都带有
@后缀,也可以去掉WHERE条件直接更新,但加条件能减少不必要的操作。重要提醒
执行更新前一定要备份数据,或者先在测试环境验证一遍,避免因为操作失误丢失数据。
内容的提问来源于stack exchange,提问作者subhash _ti
相关产品推荐
相关产品推荐

