मेरे पास एक तालिका है जिसमें प्रदर्शन पंक्ति (1-20) के लिए प्रत्येक संख्या के साथ 20 पंक्तियां होती हैं।एक या बहुत कम प्रश्नों में एकाधिक MySQL पंक्तियों का प्रदर्शन क्रम अद्यतन करना
SELECT * FROM `mytable` ORDER BY `display_order` DESC;
एक व्यवस्थापक क्षेत्र से आप पंक्तियों को खींच सकते हैं या प्रत्येक पंक्ति के लिए मैन्युअल रूप से एक नया नंबर टाइप कर सकते हैं।
निश्चित रूप से प्रत्येक पंक्ति के लिए एक अद्यतन क्वेरी पर लूप के लिए अच्छा नहीं है, 20 पंक्तियों में या उससे भी अधिक, 50-200 + में एक सेल को अपडेट करने के लिए उपयुक्त एक या बहुत कम प्रश्नों में एक विकल्प क्या है?
संपादित करें: अच्छा प्रतिक्रियाओं और विचारों का एक बहुत। मैं विचारों मैं अब तक माना जाता है पर विस्तार हो सकता है:
एक सरणी स्ट्रिंग: मैं आदेश मैं चाहता हूँ में अद्वितीय पंक्ति आईडी लिस्टिंग एक स्ट्रिंग में आदेश हो सकता है - जैसे पंक्तियों 1,9,2, 6,23। जब आदेश अद्यतन किया जाता है, जावास्क्रिप्ट के साथ एक छिपी हुई फ़ील्ड अद्यतन और कहते हैं कि जब पूरा डेटाबेस या किसी पाठ फ़ाइल में:
UPDATE `my_dispaly_order_table` SET `display_order`='1,9,2,6,23';
अद्यतन प्रत्येक पंक्ति को व्यक्तिगत रूप से: यह है कि मैं क्या से बचने के लिए कोशिश कर रहा था, लेकिन यह होता है शायद ही कभी बदला जा तो एक हिट में 20-30 कॉल एक बार एक सप्ताह या महीने में एक समस्या नहीं हो सकता तो बस फोन कर प्रत्येक पंक्ति पर अद्यतन क्या मैं आमतौर पर करते हैं:
UPDATE `mytable` SET `display_order`='1' WHERE `rowId` = 1;
UPDATE `mytable` SET `display_order`='2' WHERE `rowId` = 9;
UPDATE `mytable` SET `display_order`='3' WHERE `rowId` = 2;
UPDATE `mytable` SET `display_order`='4' WHERE `rowId` = 6;
UPDATE `mytable` SET `display_order`='5' WHERE `rowId` = 23;
इस एक लिंक्ड सूची समस्या है। शायद एक स्कीमा परिवर्तन का तात्पर्य है। – Randy