mysql - 仍然收到 MULTI DELETE 错误,我查看了其他问题,但问题仍未解决?
问题描述
我知道有很多类似的问题,我已经阅读了它们并应用了一些代码,并且理解要执行 MULTI DELETE,您需要加入要从中删除的表,但它仍然给我同样的错误。
这是查询
DELETE supplies
FROM supplies as s
INNER JOIN supplier as supp ON s.supplierNum = supp.supplierNum
WHERE supplierNum = 'S3';
我正在尝试删除所有带有供应商编号的信息S3
表创建如下
CREATE TABLE supplier (
supplierNum CHAR(2) NOT NULL,
name CHAR(10) NOT NULL,
status TINYINT(4) NOT NULL,
city VARCHAR(10) NOT NULL,
PRIMARY KEY (supplierNum)
)
用品表有一个复合键
CREATE TABLE supplies (
supplierNum CHAR(2) NOT NULL,
partNum CHAR(2) NOT NULL,
quantity SMALLINT(6) NOT NULL,
PRIMARY KEY (supplierNum, partNum),
FOREIGN KEY (supplierNum) REFERENCES supplier (supplierNum),
FOREIGN KEY (partNum) REFERENCES parts (partNum)
);
预期的结果是,在这两个表中,任何具有该值的供应商编号S3
都将被删除
错误消息 = 错误代码 1109。MULTI
supplies
DELETE 中的未知表
解决方案
如果您分配别名,则使用它并避免列名的歧义
DELETE s
FROM supplies s
INNER JOIN supplier as supp ON s.supplierNum = supp.supplierNum
WHERE s.supplierNum = 'S3';
推荐阅读
- c# - 无法使用 InputBox 切换工作簿以选择范围
- android - 具有数据绑定的约束布局
- jquery - 更改时的jQuery隐藏输入值不会触发
- python - 频繁的 json 解码器错误 - decoder.py 第 357 行,在 raw_decode
- java - Java - 这种情况下合适的设计/设计模式是什么?
- python - 在python中将base64编码的图像解码为原始图像
- php - 有什么方法可以将 mssql 扩展与在 PHP 5.6.36 上运行的更新版本的 xampp 一起使用?
- rust - 如何根据目标操作系统更改功能 ABI?
- c# - 使用 Simple Injector 将配置类注入构造函数
- node.js - 我想在 express js 中的一个路由器中使用两个不同路由器的结果