Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mendayakan Pemangkasan Data dalam MySQL tanpa Menjana Ralat?

Bagaimana untuk Mendayakan Pemangkasan Data dalam MySQL tanpa Menjana Ralat?

Susan Sarandon
Susan Sarandonasal
2024-11-03 13:03:30678semak imbas

How to Enable Data Truncation in MySQL without Generating Errors?

Pemangkasan Data MySQL dan Pengendalian Ralat

Dalam MySQL, pengendalian data yang melebihi had panjang lajur boleh berbeza-beza antara kejadian. Dalam sesetengah kes, data yang berlebihan dipotong tanpa menghasilkan ralat, manakala dalam yang lain, ralat dibangkitkan. Soalan ini meneroka tetapan MySQL yang membolehkan pemangkasan data dalam senario tertentu.

Pernyataan Masalah:

Dua kejadian MySQL mempamerkan gelagat berbeza apabila memasukkan data yang melebihi panjang yang dibenarkan: satu memotong data, manakala yang lain menimbulkan ralat. Soalan mencari penyelesaian untuk mengubah suai contoh yang sesat untuk memotong data juga.

Penyelesaian:

Untuk mendayakan pemotongan automatik rentetan panjang semasa pemasukan data, MySQL menawarkan tetapan berikut:

  • STRICT_TRANS_TABLES: Mengawal gelagat pemangkasan dalam transaksi.
  • STRICT_ALL_TABLES: Mengawal gelagat pemangkasan merentas semua jadual.

Melumpuhkan tetapan ini membolehkan MySQL memotong rentetan yang dimasukkan secara automatik, menyelesaikan perbezaan tingkah laku antara kedua-dua kejadian.

Petikan Dokumentasi MySQL:

"Mod ketat mengawal cara MySQL mengendalikan nilai yang tidak sah atau tiada dalam pernyataan perubahan data seperti INSERT atau UPDATE...Sesuatu nilai boleh menjadi tidak sah atas beberapa sebab. Contohnya, ia mungkin mempunyai jenis data yang salah untuk lajur, atau ia mungkin berada di luar julat. Nilai tiada apabila baris baharu yang hendak disisipkan tidak mengandungi nilai untuk lajur bukan NULL yang tidak mempunyai klausa DEFAULT yang jelas dalam takrifnya."

Rujukan:

  • [Mod SQL Pelayan MySQL](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html)

Atas ialah kandungan terperinci Bagaimana untuk Mendayakan Pemangkasan Data dalam MySQL tanpa Menjana Ralat?. 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