SQL 当我尝试使用 2 个表进行删除时出错

SQL ERROR when i try to do a delete from using 2 tables

我正在使用 MariaDB。 我正在尝试使用这两个表进行删除:

Table LINPED:

CREATE TABLE LINPED (
    NUMPEDIDO SMALLINT NOT NULL,
    NUMLINEA SMALLINT NOT NULL,
    NUMPIEZA CHAR(16),
    PRECIOCOMPRA INTEGER,
    CANTPEDIDA SMALLINT,
    FECHARECEP datetime,
    CANTRECIBIDA SMALLINT);

Table 佩迪多:

CREATE TABLE PEDIDO (
    NUMPEDIDO SMALLINT NOT NULL,
    NUMVEND SMALLINT,
    FECHA datetime);

起初我尝试这样做:

DELETE FROM LINPED
INNER JOIN PEDIDO 
ON LINPED.NUMPEDIDO = PEDIDO.NUMPEDIDO
WHERE PEDIDO.NUMVEND= 1 AND PEDIDO.NUMPEDIDO= 1

但它对我不起作用,因为我收到此错误:

[Window标题] 第 1 节:错误

[内容] Error de SQL (1064):您的 SQL 语法有误;查看与您的 MariaDB 服务器版本对应的手册,了解在“INNER JOIN PEDIDO”附近使用的正确语法 ON LINPED.NUMPEDIDO = PEDIDO.NUMPEDIDO WHERE numven' 在第 2 行

[Aceptar]

[页脚] Encontrar ayuda acerca de este error


在 Stackoverfolw 中搜索解决方案时,我发现了一个与此解决方案类似的问题:

DELETE FROM LINPED
JOIN PEDIDO ON LINPED.NUMPEDIDO = PEDIDO.NUMPEDIDO
WHERE PEDIDO.NUMVEND = 1 AND PEDIDO.NUMPEDIDO = 1

但是不管用,至少对我来说是这样

[Window标题] 第 1 节:错误

[内容] Error de SQL (1064):您的 SQL 语法有误;查看与您的 MariaDB 服务器版本对应的手册,了解在 'JOIN PEDIDO ON LINPED.NUMPEDIDO = PEDIDO.NUMPEDIDO 附近使用的正确语法 WHERE PEDIDO.NUMVEND = 1 AND' 在第 2 行

[Aceptar]

[页脚] Encontrar ayuda acerca de este error

LINPED table 中明确使用以下内容删除:

DELETE l.*
FROM LINPED AS l
INNER JOIN PEDIDO AS p
ON l.NUMPEDIDO = p.NUMPEDIDO
WHERE p.NUMVEND = 1 AND p.NUMPEDIDO = 1