सबसे सरल MySQL लूप

आज, साइट पर काम करते समय, मुझे मुख्य निर्देशिका को अतिरिक्त से अलग करना पड़ा। और अतिरिक्त कैटलॉग में "प्रोजेक्ट 1", "प्रोजेक्ट 2" के रूप में आवश्यक प्रविष्टियों को क्रमांकित करना आवश्यक था। और फिर कुछ अज्ञात जानवर ने मुझे कुछ सामान्य प्रोग्रामिंग भाषा में जल्दी से ऐसा करने की अनुमति नहीं दी। मैं कोशिश करना चाहता था, लेकिन क्या केवल MySQL के साधनों का उपयोग करके ऐसा करना संभव है?
जहाँ तक मुझे याद है, MySQL में चर हैं, उदाहरण के लिए @a। लेकिन MySQL में कैसे लूप किया जाए इस पर एक वेब सर्च ने मुझे कुछ नहीं दिया।
फिर मैंने सोचा, क्योंकि हम लिख सकते हैं
SELECT @i:=@i+1; 

और अद्यतन, बदले में, प्रत्येक रिकॉर्ड के माध्यम से जाता है और एक बार में एक मूल्य को बदल देता है।
 SELECT @i := 0; UPDATE `table` SET `name`=CONCAT(' ', @i := @i+1) WHERE `type` = 1 ORDER BY `id`; 

परिणामस्वरूप, हमने उनके आईडी के क्रम में टाइप 1 के साथ रिकॉर्ड का नाम बदला।
पुनश्च: CONCAT तार को समेटता है।


Source: https://habr.com/ru/post/In150491/


All Articles