删除MariaDB中超过900行的任何内容

删除MariaDB中超过900行的任何内容,mariadb,sql-delete,Mariadb,Sql Delete,这在Mysql中是可行的,但MariaDB的语法似乎不同,我正在尝试删除前900行以上的任何内容(限制为900行): 尝试在Maria中执行此操作将返回以下错误: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NOT IN (S

这在Mysql中是可行的,但MariaDB的语法似乎不同,我正在尝试删除前900行以上的任何内容(限制为900行):

尝试在Maria中执行此操作将返回以下错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MariaDB server version for the right syntax to use near 
'NOT IN (SELECT * FROM cronschedule LIMIT 900)' at line 1
那么,在玛丽亚身上我该怎么做呢?

这似乎奏效了

DELETE  cr.*
FROM    cronschedule cr
LEFT JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 900
        ) i2
ON      cr.id = i2.id
WHERE   i2.id IS NULL;
这似乎有效

DELETE  cr.*
FROM    cronschedule cr
LEFT JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 900
        ) i2
ON      cr.id = i2.id
WHERE   i2.id IS NULL;
这似乎有效

DELETE  cr.*
FROM    cronschedule cr
LEFT JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 900
        ) i2
ON      cr.id = i2.id
WHERE   i2.id IS NULL;
这似乎有效

DELETE  cr.*
FROM    cronschedule cr
LEFT JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 900
        ) i2
ON      cr.id = i2.id
WHERE   i2.id IS NULL;

我希望这比您使用
LEFT JOIN/IS NULL
构造的答案更有效:

DELETE  cr.*
FROM    cronschedule cr
    JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 1 OFFSET 900
        ) i2
ON      cr.id >= i2.id ;

我希望这比您使用
LEFT JOIN/IS NULL
构造的答案更有效:

DELETE  cr.*
FROM    cronschedule cr
    JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 1 OFFSET 900
        ) i2
ON      cr.id >= i2.id ;

我希望这比您使用
LEFT JOIN/IS NULL
构造的答案更有效:

DELETE  cr.*
FROM    cronschedule cr
    JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 1 OFFSET 900
        ) i2
ON      cr.id >= i2.id ;

我希望这比您使用
LEFT JOIN/IS NULL
构造的答案更有效:

DELETE  cr.*
FROM    cronschedule cr
    JOIN
        (
        SELECT  id
        FROM    cronschedule ii
        ORDER BY
                id ASC
        LIMIT 1 OFFSET 900
        ) i2
ON      cr.id >= i2.id ;

在(SELECT…LIMIT x)中使用
的语法在MySQL中也不起作用。另外,您错过了
WHERE
子句。在(SELECT…LIMIT x)
中使用
的语法在MySQL中也不起作用。另外,您错过了
WHERE
子句。在(SELECT…LIMIT x)
中使用
的语法在MySQL中也不起作用。另外,你错过了
WHERE
子句。在(SELECT…LIMIT x)
中使用
的语法在MySQL中也不起作用。另外,你错过了
WHERE
子句。接受作为一种比我想象的更好的方法,干杯+向你致意并接受。接受比我想象的更好,干杯+向你致意并接受。接受比我想象的更好,干杯+向你致意并接受。接受比我想象的更好,干杯+我向你致意并接受了。