在MYSQL中,如果我在加入两个表时设置更新限制,它会显示
ERROR 1221 (HY000): 错误使用 UPDATE 和 LIMIT
update
order_product_mapping as opm,
order_details as od,
product as p
set fullfillment='Y'
where
p.product_id=opm.product_id
AND od.order_id=opm.order_id
AND od.order_id=100
AND p.product_id=1 limit 1;
我的表架构是
order_details 表
CREATE TABLE `order_details` (
`order_id` int(5) NOT NULL AUTO_INCREMENT,
`amount` int(5) DEFAULT NULL,
`order_status` char(1) DEFAULT 'N',
`company_order_id` int(5) DEFAULT NULL,
PRIMARY KEY (`order_id`)
)
产品表
CREATE TABLE `product` (
`product_id` int(5) NOT NULL AUTO_INCREMENT,
`product_name` varchar(50) DEFAULT NULL,
`product_amount` int(5) DEFAULT NULL,
`product_status` char(1) DEFAULT 'N',
`company_product_id` int(5) DEFAULT NULL,
PRIMARY KEY (`product_id`)
)
order_product_mapping
CREATE TABLE `order_product_mapping` (
`product_id` int(5) DEFAULT NULL,
`order_id` int(5) DEFAULT NULL,
`fulfillment` char(1) DEFAULT 'N'
)
我将获得 company_order_id 和 company_product_id 作为输入,以便我进行更新查询以更改我在 order_product_mapping 中的履行状态。如果在查询中添加限制,则会显示错误。