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

MySQL अद्यतन एकाधिक कॉलम बदलना गैर-परमाणु है?

PostgreSQL, Oracle और SQL Server सभी इसे एक परमाणु ऑपरेशन के रूप में मानते हैं। निम्न SQL Fiddle देखें, और निम्न SQL के व्यवहार को देखने के लिए सर्वर को स्विच करें :

CREATE TABLE Swap (
  a CHAR(1),
  b CHAR(1)
);

INSERT INTO Swap (a, b) VALUES ('a', 'b');

UPDATE Swap SET a = b, b = a;

SELECT * FROM Swap;

MySQL एकमात्र RBDMS था जो अद्यतन के बाद समान मान वाले दोनों स्तंभों के साथ इसे लागू करता है।

जहां तक ​​​​आप इसे कैसे हल करेंगे, मैं इसके बजाय डेटाबेस से मूल्यों को खींचूंगा, अपने आवेदन के अंदर गणनाएं (आपके अपडेट स्टेटमेंट के बजाय) करें, और फिर गणना किए गए मानों के साथ डेटाबेस को अपडेट करें। इस तरह आप गारंटी दे सकते हैं कि गणना एक सुसंगत तरीके से की जाएगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlalchemy के साथ db mysql कैसे बनाएं?

  2. PHP 7 को MySQLi नहीं मिल रहा है

  3. MySQL PHP में एक क्वेरी के लिए एक सरणी पास करके गतिशील रूप से OR स्थितियां बनाना

  4. स्प्रिंग डेटा विनिर्देशों के साथ जुड़ें

  5. निर्दिष्ट कुंजी बहुत लंबी थी; अधिकतम कुंजी लंबाई 1000 बाइट्स है