You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中根据CNIC关联更新mobiles_sim_details表id_cnic字段的方法

根据关联表CNIC匹配更新字段的正确写法

直接使用MySQL的多表UPDATE关联语法就能实现你的需求,下面是正确的SQL语句:

UPDATE mobiles_sim_details m
INNER JOIN id_details_table i 
    ON m.CNIC = i.CNIC
SET m.id_cnic = i.ID
WHERE m.id_cnic = 0;

原语句的问题分析

你之前写的语句有两处关键错误:

  1. SET id_cnic='[value-3]'是把字段设成了固定字符串值,而非从id_details_table获取的对应匹配ID
  2. WHERE子句的子查询逻辑错误,既没有限定只更新id_cnic=0的目标记录,也没有正确利用子查询结果完成赋值

额外提示

  • 这里用INNER JOIN只会处理两张表中CNIC能匹配上的记录;如果你的数据里存在mobiles_sim_details有CNIC但id_details_table无对应记录的情况,想要给这类记录的id_cnic设为NULL,可以把INNER JOIN改成LEFT JOIN,同时保留WHERE m.id_cnic = 0的条件

内容的提问来源于stack exchange,提问作者Sohail Karim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 04:50:24