Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ORDER BY, LIMIT और एकाधिक तालिकाओं के साथ अद्यतन सिंटेक्स

समाधान ORDER BY और LIMIT को FROM क्लॉज में शामिल होने के हिस्से के रूप में घोंसला बनाना है। इससे आपको पहले अपडेट की जाने वाली सटीक पंक्ति (ta.id) मिलती है, फिर अपडेट करने के लिए प्रतिबद्ध करें।

UPDATE tableA AS target
    INNER JOIN (
      SELECT ta.id
      FROM tableA AS ta
        INNER JOIN tableB AS tb ON tb.id = ta.user_id
        WHERE tb.username = '$varName'
        ORDER BY ta.datetime DESC
        LIMIT 1) AS source ON source.id = target.id
    SET col1 = '$var';

इस सटीक विषय पर उत्कृष्ट पोस्ट के लिए बैरन श्वार्ट्ज, उर्फ ​​Xaprb को हैट टिप:http://www.xaprb.com/blog/2006/08/10/how-to-use- आदेश-दर-और-सीमा-पर-मल्टी-टेबल-अपडेट-इन-mysql/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में भ्रष्ट InnoDB तालिका को सुधारने के सर्वोत्तम तरीके

  2. MySQL डेटाबेस के लिए उन्नत Oracle JDeveloper सुविधाओं का उपयोग करना

  3. हटाएं * तालिका से काम नहीं कर रहा है

  4. स्प्रिंटफ () एसक्यूएल इंजेक्शन से कैसे बचाता है?

  5. विजुअल स्टूडियो 2013 पूर्वावलोकन के साथ MySQL डेटाबेस कनेक्शन