Mysql多表关联delete和update操作

         mysql中的delete和update使用子查询作为条件的时候,子查询需要进一步封装为表,然后指定表别名,否则会提示类似下面的错误。

    SQLSTATE[HY000]: General error: 1093 You can't specify target table 'version' for update in FROM clause
        通过如下的方式可以实现在delete和update中实现子子查询调用。

     delete方式

delete
from tbl_version  
where code > 10049
and id  in (
    select id
  from (
        select min(id) id
        from tbl_version
    where code > 10049
    group by code
    having count(1) >= 2
 ) tblDelete
);

     update方式

UPDATE tbl_version
SET STATUS = 1
WHERE id =  0
AND STATUS IN (1, 2)
AND version IN (
  select * from (
        SELECT
            version
        FROM tbl_version
        WHERE id = 0
  ) tbl_Update
)
       另:php支持multipart/form-data类型的表单同时提交上传文件和post参数,允许后台通过$_POST获取到页面post的相关参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值