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

हटाएं जहां आईडी सबसे बड़ी है

पहला विचार (कई अन्य लोगों के बीच जो बिल्कुल समान थे):

DELETE FROM orders 
WHERE order_id = 
      ( SELECT MAX(order_id)
        FROM orders
      )

दुर्भाग्य से MySQL इसके साथ शिकायत करता है:

> ERROR 1093 (HY000): You can't specify target table 'orders' for update in FROM
> clause

त्रुटि को बायपास करने के दो तरीके:

DELETE FROM orders 
WHERE order_id =
       ( SELECT maxo
         FROM  
           ( SELECT MAX(order_id) AS maxo
             FROM orders
           ) AS tmp
        )

या:

DELETE FROM orders
ORDER BY order_id DESC
LIMIT 1 


  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 इनर जॉइन एलियास

  2. खोज सभी उत्पादों को दिखा रही है

  3. MySQL त्रुटि:अद्यतन और सीमा का गलत उपयोग

  4. एक निश्चित तिथि से शुरू होने वाले 7 दिनों के अंतराल से पंक्तियों को समूहित करें

  5. MySQL में पंक्तियों को कॉलम में स्थानांतरित करें