双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

请教,mysql update where not exists同一张表该怎么写?

sweetBug sweetBug 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

update user_address as t
set t.IS_DEFAULT = 1
where t.USER_ID = 'ifelse'
and not exists (
select 1 from user_address i
where i.USER_ID = t.USER_ID and ifnull(i.IS_DEFAULT, 0) = 1
) and t.ADDRESS_ID in (
select min(i.ADDRESS_ID)
from user_address i
where i.USER_ID = t.USER_ID
)

如题,我想要更新地址表用户“ifelse”的“默认地址”列,当发现该用户的地址列表中没有任何一条地址被设置成默认地址,则设置编号最小的地址为默认地址。

这个SQL在ORACLE或SQLSERVER中执行是没有问题的,在MYSQL中执行报错:
Error:2013-12-08 20:39:51 0:00:00.000: Lookup Error - MySQL Database Error: You can't specify target table 't' for update in FROM clause

这是应该怎么写呢,求帮助!
...全文

相关推荐

MySQL数据库同时查询更新同一张表的方法

在平常的项目中,经常会碰到这样的问题:我需要在一张标中同时更新和查询出来的数据。例如:有如下图一张表数据,现在需要更新操作为:把status=1的name值更新为id=2的name值 通常情况下我们会想到如下语句来实现这个需求: UPDATE tb_testSET NAME = ( SELECT NAME FROM tb_test WHERE id= 2)WHERE `status` = 1 结果却报错,报错信息为:You can't specify target table 'tb_test' for update in FROM clause,不能在同一语句中update,select同

ALCH-WUR

Mysql联表update数据的示例详解

1.MySQL UPDATE JOIN语法 在MySQL中,可以在 UPDATE语句 中使用JOIN子句执行跨表更新。MySQL UPDATE JOIN的语法如下: UPDATE T1, T2, [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1 SET T1.C2 = T2.C2, T2.C3 = expr WHERE condition 更详细地看看MySQL UPDATE JOIN语法: 首先,在UPDATE子句之后,指定主表(T1)和希望主表连接表(T2)。 第二,指定一种要使用的连接,即INNER JOIN或LEFT JOIN和连接条件。J

weixin_38636763

mysql insert if not exists防止插入重复记录的方法

在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案。

weixin_38675232

MySQL的子查询中FROM和EXISTS子句的使用教程

FROM 子查询 FROM 子句中的子查询 MySQL FROM 子查询是指 FROM 的子句作为子查询语句,主查询再到子查询结果中获取需要的数据。FROM 子查询语法如下: SELECT ... FROM (subquery) AS name ... 子查询会生成一个临时表,由于 FROM 子句中的每个表必须有一个名称,因此 AS name 是必须的。FROM 子查询也称为衍生数据表子查询。 FROM 子查询实例 table1: s1 s2 1 5 2 12 3 20 FROM 子查询 SQL 如下: SELECT s1,s2 FROM (SELECT s1, s2*2 A

weixin_38608693

mysql多表join时候update更新数据的方法

如果item表的name字段为''就用resource_library 表的resource_name字段前面加上字符串Review更新它,他们的关联关系在表resource_review_link中。

weixin_38739044
评论 2
收藏 已收藏
分享
返回顶部
sweetBug
MySQL 57,062 成员 56,759 内容