• ADADADADAD

    MariaDB 10.3 解决掉了UPDATE不支持同一张表的子查询更新[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:57:44

    作者:文/会员上传

    简介:

    MariaDB 10.3 解决掉了UPDATE不支持同一张表的子查询更新。下面直接看案例CREATETABLEt1(c1INT,c2INT);INSERTINTOt1VALUES(10,10),(20,20);UPDATEt1SETc1=c1+1WHEREc2=(SEL

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    MariaDB 10.3 解决掉了UPDATE不支持同一张表的子查询更新。

    下面直接看案例

    CREATETABLEt1(c1INT,c2INT);INSERTINTOt1VALUES(10,10),(20,20);UPDATEt1SETc1=c1+1WHEREc2=(SELECTMAX(c2)FROMt1);


    MySQL5.7 直接报错

    MySQL 8.0 直接报错

    MariaDB 10.3 更新成功

    MySQL目前只能改写SQL实现,即max那条语句让其产生衍生表就可以通过。

    UPDATEt1a,(SELECTMAX(c2)asm_c2FROMt1)asbSETa.c1=a.c1+1WHEREa.c2=b.m_c2;

    -----------------------------------------------------------------------------------------------

    同理看下DELETE删除操作。

    DROPTABLEt1;CREATETABLEt1(c1INT,c2INT);DELETEFROMt1WHEREc1IN(SELECTb.c1FROMt1bWHEREb.c2=0);

    MySQL 8.0 直接报错

    MariaDB 10.3 删除成功

    参考:https://jira.mariadb.org/browse/MDEV-12137


    MariaDB 10.3 解决掉了UPDATE不支持同一张表的子查询更新.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: updatemariadb张表