【发布时间】:2012-08-28 16:27:28
【问题描述】:
Timezones
---------
-AreaCode varchar
-Timezone varchar
Contacts
--------
-Phone varchar
-Timezone varchar
除了联系人表中的Timezone 之外,所有内容都已填充,因此我想查找每个电话号码的时区并更新联系人。这是我尝试做的,但MySQL 给出了
错误 1242 子查询返回多行
对于每个时区 (0,-1,-2,-3,-4,-5),我执行此更新:
update contacts
set contacts.timezone = '-1'
where left(contacts.phone,3) = (Select timezones.areacode
from timezones
where timezones.timezone = '-1');
【问题讨论】:
-
那么,您是否验证过确实是每个ID只有一个时区?
-
我刚查了一下,时区表中没有重复的区号
-
我问的是重复的
timezone值,而不是重复的区号。
标签: mysql subquery sql-update