qq_41265012
2019-01-14 10:10
采纳率: 95.5%
浏览 1.1k

mysql UPDATE 同一表不同字段

分类表:

id cid
1 10
2 12
3 9
4 22

数据表:

id cid pid
1 10 1
2 10 1
3 12 2
4 22 4
5 9 3

数据表的cid和分类表cid一样。

新增数据表pid字段,现在要根据数据表的cid(查询分类表的id)来生成pid,要怎么写sql语句?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 飘零碎步 2019-01-17 16:34
    已采纳

    mysql数据库 UPDATE a,b SET b.pid = a.id where b.cid = a.cid

    点赞 评论
  • L星火燎原 2019-01-14 10:51
  • 无名程序猿小姐姐 2019-01-14 10:53

    select b.id,b.cid,a.id,a.pid
    from 数据表 As a,分类表 As b
    where a.cid=b.cid

    注释:
    在SQL中,可以通过AS关键字为表定义别名。

    点赞 评论
  • yxdcoder 2019-01-14 10:55

    update datamanager d inner join category c on d.cid = c.cid set d.pid = c.id;

    可以实现你要的效果

    点赞 评论
  • 葫芦胡 2019-01-14 12:11

    UPDATE t_data d,t_category c SET d.pid = c.id where d.cid = c.cid;

    点赞 评论
  • yangyyyyyyyy 2019-01-15 12:20

    update a set a.pid=b.id from t_data a join t_category b on a.cid=b.cid
    希望对你有所帮助

    点赞 评论

相关推荐 更多相似问题