首页 > mysql数据库关联表数据更新

mysql数据库关联表数据更新

CREATE TABLE A
(
    id    int(10),
    bid   int(10),
    type  varchar(10)
)
CREATE TABLE B
(
    id    int(10),
    type  varchar(10)
)

A表type不唯一,B表type唯一,
因为使用:
update A set A.bid = (select B.id from B where B.type = A.type);
中 select 返回值不唯一,无法更新。
问题:
如何根据 B.type 更新 A.bid ?


不唯一就是有可能有多个是不。试试如下呢

UPDATE A SET A.bid IN (SELECT B.id FROM B WHERE B.type = A.type);

或者你可以先把B表的对应数据查询出来,然后再整理成对应的SQL条件再对A表数据更新。仅供参考

【热门文章】
【热门文章】