Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mencapai Penguncian Tahap Baris dalam Jadual MyISAM MySQL?

Bagaimana untuk Mencapai Penguncian Tahap Baris dalam Jadual MyISAM MySQL?

Barbara Streisand
Barbara Streisandasal
2024-10-31 11:25:29692semak imbas

How to Achieve Row-Level Locking in MySQL's MyISAM Tables?

Mengunci Baris Tunggal dalam Jadual MyISAM

Dalam MySQL, jadual MyISAM tidak menyokong penguncian peringkat baris. Walau bagaimanapun, jika anda memerlukan keupayaan mengunci peringkat baris, anda boleh mempertimbangkan untuk menukar kepada InnoDB, yang menyediakan ciri ini.

Bertukar kepada InnoDB untuk Penguncian Tahap Baris

Kepada dayakan penguncian peringkat baris, anda perlu menukar jadual pengguna anda daripada MyISAM kepada InnoDB. Anda boleh melakukan ini menggunakan arahan berikut:

ALTER TABLE <user_table> ENGINE=InnoDB;

Sebaik sahaja anda telah menukar kepada InnoDB, anda boleh menggunakan pernyataan SELECT ... FOR UPDATE untuk mendapatkan kunci eksklusif pada baris tertentu. Ini akan menghalang sesi lain daripada mengubah suai atau mengakses baris terkunci sehingga kunci dilepaskan.

Berikut ialah contoh:

SELECT * FROM <user_table> 
WHERE <condition> 
FOR UPDATE;

Nota: Anda harus melepaskan kunci segera selepas anda menyelesaikan operasi anda pada baris. Ini boleh dilakukan dengan mengeluarkan kenyataan COMMIT atau ROLLBACK.

Sumber Tambahan:

  • [Dokumentasi MySQL: Kunci Ditetapkan oleh Penyata SQL untuk Jadual InnoDB]( http://dev.mysql.com/doc/refman/5.0/en/innodb-locks-set.html)

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Penguncian Tahap Baris dalam Jadual MyISAM MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn