6
MySQL: ธุรกรรมเทียบกับตารางการล็อก
ฉันสับสนเล็กน้อยกับการทำธุรกรรมและการล็อกตารางเพื่อให้แน่ใจว่าฐานข้อมูลมีความสมบูรณ์และตรวจสอบให้แน่ใจว่า SELECT และ UPDATE ยังคงซิงค์อยู่และไม่มีการเชื่อมต่ออื่นใดรบกวน ฉันจำเป็นต้อง: SELECT * FROM table WHERE (...) LIMIT 1 if (condition passes) { // Update row I got from the select UPDATE table SET column = "value" WHERE (...) ... other logic (including INSERT some data) ... } ฉันต้องตรวจสอบให้แน่ใจว่าไม่มีการสอบถามอื่นใดที่จะรบกวนและดำเนินการแบบเดียวกันSELECT(อ่าน 'ค่าเก่า' ก่อนที่การเชื่อมต่อนั้นจะอัปเดตแถวเสร็จสิ้น ฉันรู้ว่าฉันสามารถตั้งค่าเริ่มต้นเพื่อLOCK TABLES tableตรวจสอบให้แน่ใจว่ามีการเชื่อมต่อเพียงครั้งละ 1 …
110
sql
mysql
transactions
locking