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

mysql मौजूदा अपडेट करने के बजाय एक नई पंक्ति बनाता है

आप सीधे UPDATE . कर सकते हैं यदि मान पहले से मौजूद है या INSERT यदि यह INSERT...ON DUPLICATE KEY UPDATE . का उपयोग करके मौजूद नहीं है

लेकिन पहले आपको एक अद्वितीय कॉलम निर्दिष्ट करना होगा,

ALTER TABLE user_account ADD CONSTRAINT tb_uq UNIQUE (id_user)

अगर कॉलम ID_USER पहले से ही एक प्राथमिक कुंजी है तो पहली विधि को छोड़ दें। इसे लागू करने के बाद, अब आप निम्न सिंटैक्स का उपयोग कर सकते हैं

INSERT INTO user_account (id_user, bio) 
VALUES($id, '$bio')
ON DUPLICATE KEY UPDATE bio = '$bio';

एक विचार के रूप में, क्वेरी SQL Injection के साथ असुरक्षित है यदि मान (s ) चर के बाहर से आया था। इससे बचाव के तरीके जानने के लिए कृपया नीचे दिए गए लेख पर एक नज़र डालें। PreparedStatements . का उपयोग करके आप मूल्यों के इर्दगिर्द सिंगल कोट्स का उपयोग करने से छुटकारा पा सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका बनाएं यदि मौजूद नहीं है तो तालिका पहले से मौजूद होने के साथ विफल हो जाती है

  2. एक टिप्पणी प्रणाली की संरचना पर सलाह

  3. SQL परिणामों को हैस-मैनी-थ्रू संबंध में कैसे फ़िल्टर करें

  4. आप MySQL क्वेरी में स्ट्रिंग से संख्यात्मक मान कैसे निकालते हैं?

  5. मैं इसे TSQL से MYSQL में कैसे परिवर्तित करूं?