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

एक mysql तालिका के सभी स्तंभों को किसी विशेष मान पर सेट करें

यदि आप एक संक्षिप्त, सरल कथन के साथ सभी 70 स्तंभों को एक मान में अद्यतन करने का तरीका ढूंढ रहे हैं, तो मेरा सुझाव है कि आप अद्यतन करने के लिए एक संग्रहीत कार्यविधि लिखें। इस तरह आपको केवल एक बार पूर्ण अपडेट सिंटैक्स लिखने की आवश्यकता है, और संग्रहीत कार्यविधि को कॉल करके इसे बार-बार उपयोग कर सकते हैं।

CREATE PROCEDURE update_all_columns (p_new_value SMALLINT, p_id INT) ...

CALL update_all_columns(1,2);

एक और तरकीब यह है कि अपडेट स्टेटमेंट जेनरेट करने के लिए info_schema.columns टेबल का इस्तेमाल करें, जिससे स्टोर की गई प्रक्रिया को कोड करना कम मुश्किल हो जाता है।

कुछ इस तरह:

SELECT concat('UPDATE ',
table_name,
' SET ',
group_concat(column_name separator ' = p_new_value, '),
' = p_new_value',
' WHERE id = p_id;') as sql_stmt
FROM information_schema.columns 
WHERE table_schema = 'your_schema' 
AND table_name = 'tablename'
AND column_name != 'id'


  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.user की कॉलम संख्या गलत है। अपेक्षित 42, 44 मिला। तालिका शायद दूषित है

  2. MySQL के साथ एचक्यूएल का उपयोग करके मैं समूह के सामने परिणाम सेट को कैसे ऑर्डर कर सकता हूं ताकि सही रिकॉर्ड चुना जा सके?

  3. Php/MySQL के साथ समयबद्ध घटनाएं

  4. SQLAlchemy और जुड़ता है, हमारे पास कोई विदेशी कुंजी नहीं है

  5. लूपिंग के बिना एक कॉलम में रिकॉर्ड जोड़ना?