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

Mysql में रिकॉर्ड ऑर्डर को बनाए रखना/अद्यतन करना

क्या ऐसा कुछ ऐसा करेगा?

UPDATE items 
SET position = CASE position 
  WHEN $oldpos THEN $newpos 
  ELSE position + SIGN($oldpos-$newpos)
 END
WHERE position BETWEEN LEAST( $newpos, $oldpos ) 
                AND GREATEST( $newpos, $oldpos );

मैंने इसे दो बार परीक्षण किया और ऐसा लगता है कि यह काम करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पहले अक्षर को क्रमबद्ध करने के लिए LIKE के साथ रेगेक्स का उपयोग करना फिर SQL का प्रतीक है

  2. यदि स्थितियां अद्वितीय हैं तो MySQL अलग-अलग गणना करता है

  3. PDO::fetchAll बनाम PDO::fetch in a लूप

  4. MySQL में समय अंतर की गणना करना लेकिन घटनाओं को ध्यान में रखना

  5. Laravel वाक्पटु क्वेरी JSON कॉलम कहाँ में है?