分类表:
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语句?
mysql数据库 UPDATE a,b SET b.pid = a.id where b.cid = a.cid
https://blog.csdn.net/czd3355/article/details/71302441思路可以参考一下这个,如果你想一条sql语句做成,这个是不可能的。
select b.id,b.cid,a.id,a.pid
from 数据表 As a,分类表 As b
where a.cid=b.cid
注释:
在SQL中,可以通过AS关键字为表定义别名。
update datamanager d inner join category c on d.cid = c.cid set d.pid = c.id;
可以实现你要的效果
UPDATE t_data d,t_category c SET d.pid = c.id where d.cid = c.cid;
update a set a.pid=b.id from t_data a join t_category b on a.cid=b.cid
希望对你有所帮助