बस UPDATE
जब आप SELECT
उसी समय।
इसे बदलें:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
इसके लिए:
UPDATE supplier_dropship_items as t,
(
SELECT id, product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2'
) as temp
SET status = '1' WHERE temp.ID = t.ID;
यह मान रहा है कि आपकी तालिका के अंदर एक आईडी कॉलम है क्योंकि इसे इस तरह से सेट किया जाना चाहिए और कोई भी सामान्यीकृत तालिका कैसी दिखेगी।
संपादित करें
यहाँ एक इस सिंटैक्स पर दस्तावेज़ीकरण के लिए लिंक है
अनिवार्य रूप से यह जो कर रहा है वह उस तालिका को अद्यतन करने का प्रयास करते समय है जिसे हम यहां t
. के रूप में अलियासिंग कर रहे हैं , आप एक साथ एक चयन कथन चलाते हैं।
यह चयन कथन एक परिणाम तालिका लौटा रहा है जिसे हम temp
. नाम से उपनाम देते हैं .
तो अब कल्पना करें कि आपके चयन कथन का परिणाम temp
. के अंदर है , जबकि आप जिस पूरी तालिका को अपडेट कर रहे हैं वह t
. के अंदर है .
अंत में आप status
को अपडेट करते हैं 1
. के लिए फ़ील्ड जहां ID
के (इन दो उपनाम परिणाम सेट पर) मिलान