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表数据更新。仅供参考