MYSQL で、2 つのテーブルを結合しているときに更新に制限を設定すると、それが表示されます
エラー 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 でフルフィルメントのステータスを変更する更新クエリを作成します。クエリに制限を追加すると、エラーが表示されます。