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

हटाएं, व्युत्पन्न तालिकाओं के साथ अपडेट करें?

आप सबक्वेरी से सीधे डिलीट नहीं कर सकते हैं, लेकिन यदि आप चाहें तो आप अभी भी इसका उपयोग कर सकते हैं, आपको बस इसे JOIN में उपयोग करने की आवश्यकता होगी :

DELETE usrs
FROM usrs
    INNER JOIN (
        SELECT * FROM usrs WHERE name = 'john'
    ) t ON usrs.Id = t.Id

या आप IN . का उपयोग कर सकते हैं :

DELETE usrs
WHERE ID IN (
   SELECT ID
   FROM usrs
   WHERE name = 'John'
)

इसके साथ ही, इस उदाहरण के लिए, मुझे नहीं पता कि आप एक सबक्वायरी क्यों चाहते हैं:

DELETE usrs WHERE name = 'John'

टिप्पणियों के आधार पर संपादित करें। एक ही समय में एकाधिक तालिकाओं से हटाने के लिए, आपके पास एकाधिक DELETE हो सकते हैं कथन, या आप निम्न की तरह कुछ उपयोग कर सकते हैं:

delete t1, t2, t3
from (select 'john' as usr) t
  left join t1 on t.usr=t1.usr
  left join t2 on t.usr=t2.usr
  left join t3 on t.usr=t3.usr


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP में स्वचालित डीबी कनेक्शन बंद?

  2. MYSQL त्रुटि:1045 (28000):उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध

  3. गुण मान सेट करने में त्रुटि; नेस्टेड अपवाद org.springframework.beans.NotWritablePropertyException है:

  4. पायथन और माईएसक्ल:यूनिकोड और एन्कोडिंग

  5. PHP:स्टार रेटिंग सिस्टम अवधारणा?