我在下面有这个脚本,应该使用来自subscriber_id
subscriber_users
的{{1}}更新id
中的subscriber
email
来自subscriber
在oldDB.table中为emailSubscriber
UPDATE subscription_users AS u
JOIN subscriber AS s
ON u.subscriber_id = s.id
set u.subscriber_id = s.id
where s.email IN (SELECT `emailSubscriber` FROM oldDB.table);
此代码运行时没有任何错误,但永远不会设置id
中的subscriber
。所以我猜这个子选择不起作用。
此Querys运行u.subscriber_id
为null
,此查询不会选择任何条目,也不会更新任何条目。但我可以保证有匹配的条目,更新应该有效。
我做错了什么?
尝试澄清事情。
我有三张桌子:
带有字段subscriber
和id
的 email
带有字段subscriber_users
的
subscriber_id
。
subscriber_users
代表与subscriber
的OneToMany关系。
然后另一个数据库中的table
字段为emailSubscriber
。
当id
位于subscriber
字段中时,我需要一种方法将subscriber_id
从subscribers_users
添加到subscriber.email
emailSubscriber
oldDatabase.table
。
我认为加入是误导性的,因为subscriber_users.subscriber_id
是null
而无法正常工作,所以加入时没有任何价值。这是我思考过程中的一个错误。
这是订阅者的结构
这是subscription_users
的结构
关系如下:
1 subscriber - X subscription_users
答案 0 :(得分:0)
你加入已经相等的值,但也希望重置;举个简单的例子
UPDATE `table` SET `value` = 5 WHERE `value` = 5;