Jadual Kandungan
Nilai biasa sql_mode adalah seperti berikut:
Rumah pangkalan data tutorial mysql Ajar anda helah untuk membetulkan tetapan sql_mode dalam mysql

Ajar anda helah untuk membetulkan tetapan sql_mode dalam mysql

Aug 05, 2021 am 09:22 AM
sql_mode

sql_mode ialah pembolehubah yang mudah diabaikan Nilai lalainya adalah batal Di bawah tetapan ini, beberapa operasi yang menyalahi undang-undang boleh dibenarkan, seperti membenarkan pemasukan beberapa data haram. Nilai ini mesti ditetapkan kepada mod ketat dalam persekitaran pengeluaran, jadi pangkalan data dalam pembangunan dan persekitaran ujian juga mesti ditetapkan, supaya masalah boleh ditemui semasa fasa pembangunan dan ujian.

1, laksanakan SQL untuk melihat

select @@session.sql_mode;
Salin selepas log masuk

Peringkat global: Lihat

select @@global.sql_mode;
Salin selepas log masuk

2, ubah suai

set @@session.sql_mode='xx_mode'
set session sql_mode='xx_mode'
Salin selepas log masuk

Peringkat global: ubah suai

set global sql_mode='xx_mode';
set @@global.sql_mode='xx_mode';
Salin selepas log masuk

Sesi boleh ditinggalkan, sesi lalai hanya sah untuk sesi semasa
Pengubahsuaian global memerlukan kebenaran lanjutan, ia hanya akan berkuat kuasa untuk sambungan seterusnya, tidak menjejaskan sesi semasa, dan MySQL dimulakan semula Ia akan menjadi tidak sah kemudian kerana MySQL akan membaca semula nilai yang sepadan dalam fail konfigurasi apabila ia dimulakan semula Jika ia perlu kekal, anda perlu mengubah suai nilai dalam fail konfigurasi.

vi /etc/my.cnf
Salin selepas log masuk
[mysqld]
sql-mode = "xx_mode"
Salin selepas log masuk

Simpan dan keluar, mulakan semula pelayan, dan ia akan berkuat kuasa secara kekal

Nilai biasa sql_mode adalah seperti berikut:

NO_AUTO_VALUE_ON_ZERO

Nilai ini mempengaruhi sisipan lajur yang berkembang secara automatik. Di bawah tetapan lalai, memasukkan 0 atau NULL mewakili penjanaan nilai peningkatan automatik seterusnya. Pilihan ini berguna jika pengguna ingin memasukkan nilai 0 dan lajur meningkat secara automatik.

STRICT_TRANS_TABLES

Dalam mod ini, jika nilai tidak boleh dimasukkan ke dalam jadual transaksi, operasi semasa akan terganggu dan tiada sekatan ke atas bukan transaksi jadual

TIADA_ZERO_IN_DATE

Dalam mod ketat, tarikh atau bulan tidak dibenarkan selagi bulan atau hari tarikh mengandungi nilai 0, ralat akan dilaporkan, tetapi '0000-00-00 'Kecuali

NO_ZERO_DATE

menetapkan nilai ini, pangkalan data mysql tidak membenarkan pemasukan tarikh sifar, dan memasukkan tarikh sifar akan menimbulkan ralat dan bukannya amaran. Mana-mana tahun, bulan dan hari yang bukan 0 memenuhi keperluan Hanya '0000-00-00' akan melaporkan ralat

ERROR_FOR_pISION_BY_ZERO

Semasa Proses INSERT atau UPDATE, jika Membahagikan data dengan sifar menghasilkan ralat dan bukannya amaran. Jika mod tidak diberikan, MySQL mengembalikan NULL apabila data dibahagikan dengan sifar

kemas kini set jadual num = 5 / 0; ralat akan dilaporkan selepas menetapkan mod berjaya dan nilai num akan menjadi batal

NO_AUTO_CREATE_USER

Tolak GRAN daripada mencipta pengguna dengan kata laluan kosong

NO_ENGINE_SUBSTITUTION> Enjin storan jika diperlukan dilumpuhkan atau tidak disusun, ralat akan dilemparkan. Apabila nilai ini tidak ditetapkan, enjin storan lalai digunakan dan pengecualian dilemparkan

PIPES_AS_CONCAT

Anggap "||" sebagai operator penggabungan rentetan operator OR, ini sama dengan pangkalan data Oracle, dan serupa dengan fungsi penyambungan rentetan Concat

ANSI_QUOTES

Selepas mendayakan ANSI_QUOTES, anda tidak boleh menggunakan Sebut Harga berganda menandakan untuk memetik rentetan kerana ia ditafsirkan sebagai pengecam

Cadangan berkaitan: "

tutorial mysql

"

Atas ialah kandungan terperinci Ajar anda helah untuk membetulkan tetapan sql_mode dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kurangkan penggunaan memori MySQL di Docker Kurangkan penggunaan memori MySQL di Docker Mar 04, 2025 pm 03:52 PM

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Mar 04, 2025 pm 04:01 PM

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Apa itu SQLite? Gambaran Keseluruhan Komprehensif Apa itu SQLite? Gambaran Keseluruhan Komprehensif Mar 04, 2025 pm 03:55 PM

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Mar 04, 2025 pm 03:54 PM

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Mar 04, 2025 pm 03:49 PM

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Mar 21, 2025 pm 06:28 PM

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)?

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)? Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)? Mar 18, 2025 pm 12:00 PM

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)?

See all articles