Rumah > pangkalan data > tutorial mysql > Adakah mysql perlu komit?

Adakah mysql perlu komit?

WBOY
Lepaskan: 2022-04-27 19:04:33
asal
4615 orang telah melayarinya

Dalam mysql, sama ada commit diperlukan bergantung pada enjin penyimpanan: 1. Jika ia adalah enjin storan yang tidak menyokong transaksi, seperti myisam, anda tidak perlu menggunakan commit; enjin storan yang menyokong transaksi, seperti innodb, maka Anda perlu tahu sama ada transaksi itu dilakukan secara automatik, jadi anda perlu menggunakan komit.

Adakah mysql perlu komit?

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Adakah mysql memerlukan commit?

Sama ada mysql memerlukan commit semasa melakukan penambahan, pemadaman dan pengubahsuaian bergantung pada enjin storan anda.

  • Jika ia adalah enjin yang tidak menyokong transaksi, seperti myisam, ia tidak akan sah sama ada ia dilakukan atau tidak.

  • Jika ia adalah enjin yang menyokong transaksi, seperti innodb, anda perlu tahu sama ada perkara itu menyokong penyerahan transaksi automatik (iaitu komit)

Lihat pada anda sendiri Anda boleh menggunakan

mysql> show variables like '%autocommit%';
Salin selepas log masuk

untuk menyemak sama ada pangkalan data dikomit secara automatik Jika ia MATI, ia tidak akan dilakukan secara automatik dan memerlukan operasi komit manual (baris arahan boleh terus gunakan arahan "komit;"), jika tidak, ia akan dilakukan secara automatik.

Pengetahuan lanjutan:

Terdapat tiga jenis data yang diserahkan: penyerahan eksplisit, penyerahan tersirat dan penyerahan automatik.

Tiga jenis ini diterangkan di bawah.

Penyerahan eksplisit

Penyerahan yang dilengkapkan terus menggunakan arahan COMMIT ialah penyerahan eksplisit.

Penyerahan tersirat

Serahan yang dilengkapkan secara tidak langsung menggunakan arahan SQL ialah penyerahan tersirat. Arahan ini ialah:

UBAH, AUDIT, KOMEN, SAMBUNG, CIPTA, PUTUSKAN, GUGUH, KELUAR, GERAN, NOAUDIT, BERHENTI, BATALKAN, NAMA SEMULA.

Penyerahan automatik

Jika AUTOCOMMIT ditetapkan kepada HIDUP, selepas memasukkan, mengubah suai dan memadam kenyataan dilaksanakan, sistem

akan membuat komitmen secara automatik, yang merupakan komitmen automatik. Formatnya ialah: SQL>SET AUTOCOMMIT ON;

COMMIT / ROLLBACK. COMMIT/ROLLBACK digunakan selepas melaksanakan pernyataan DML (INSERT/DELETE/UPDATE/SELECT). Selepas penyata DML dilaksanakan, data yang diproses akan diletakkan dalam segmen rollback (kecuali pernyataan SELECT), menunggu pengguna untuk melakukan (COMMIT) atau rollback (ROLLBACK) Apabila pengguna melaksanakan COMMIT/ROLLBACK, ia akan diletakkan dalam segmen rollback Data dalam segmen akan dipadamkan.

(Selepas pernyataan SELECT dilaksanakan, data disimpan dalam kumpulan kongsi. Apabila menyediakan data yang sama kepada orang lain untuk ditanya, ia diekstrak terus daripada kumpulan kongsi tanpa perlu pergi ke pangkalan data untuk mengekstrak ia, yang meningkatkan kelajuan pertanyaan data.)

Semua penyata DML mesti diserahkan secara eksplisit, iaitu, COMMIT mesti dilaksanakan selepas penyataan DML dilaksanakan. Lain-lain, seperti pernyataan DDL, diserahkan secara tersirat. Dalam erti kata lain, selepas menjalankan penyataan bukan DML tersebut, pangkalan data telah membuat komit tersirat, seperti CREATE TABLE Selepas menjalankan skrip, jadual telah dibuat dan anda tidak perlu lagi membuat komit eksplisit.

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Adakah mysql perlu komit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan