Rumah >pangkalan data >tutorial mysql >Mari kita bercakap tentang pelbagai mod sql_mode

Mari kita bercakap tentang pelbagai mod sql_mode

藏色散人
藏色散人ke hadapan
2023-03-14 17:17:042127semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql terutamanya mengenai pelbagai mod sql_mode boleh lihat di bawah.

Mari kita bercakap tentang pelbagai mod sql_mode

Pengenalan kepada setiap mod sql_mode

Lihat sql_mode

mysql> SHOW VARIABLES LIKE 'sql_mode';
+---------------+--------------------------------------------+
| Variable_name | Value                                      |
+---------------+--------------------------------------------+
| sql_mode      | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+--------------------------------------------+
1 row in set (0.16 sec)

STRICT_TRANS_TABLES

Apabila memasukkan atau mengemas kini data, jika nilai medan tidak boleh ditukar kepada jenis data sasaran, MySQL akan melaporkan ralat. Mod ini hanya digunakan pada jadual transaksi.

Jadi ketidakkonsistenan mod ini akan menyebabkan kod yang sama melaporkan ralat dalam persekitaran yang berbeza

Mod ini hanya untuk jadual innodb

STRICT_ALL_TABLES

dan STRICT_TRANS_TABLES adalah serupa, tetapi mod ini digunakan pada semua jadual, termasuk jadual bukan innodb.

ERROR_FOR_DIVISION_BY_ZERO

MySQL akan membuang ralat jika pembahagi adalah sifar. Jika mod ini tidak didayakan, MySQL mengembalikan NULL.

NO_AUTO_CREATE_USER

Apabila MySQL menggunakan pernyataan GRANT untuk mencipta pengguna baharu, penciptaan pengguna bukan sedia ada tidak dibenarkan. Jika anda mendayakan mod ini, anda mesti mencipta pengguna secara manual terlebih dahulu.

NO_ENGINE_SUBSTITUTION

Jika enjin storan yang dinyatakan tidak wujud, MySQL tidak akan menggantikannya dengan enjin storan lain, tetapi akan melaporkan ralat.

ANSI_QUOTES

Apabila mod ini didayakan, MySQL menganggap petikan berganda sebagai petikan untuk pengecam dan bukannya petikan untuk rentetan.

IGNORE_SPACE

Jika mod ini didayakan, MySQL mengabaikan ruang dalam pernyataan SQL. Ini boleh mencantikkan pernyataan SQL tanpa mengubah struktur pernyataan SQL.

ONLY_FULL_GROUP_BY

Jika mod ini didayakan, semua lajur bukan agregat mesti disertakan dalam pernyataan GROUP BY, jika tidak MySQL akan melaporkan ralat.

NO_ZERO_IN_DATE

Jika mod ini didayakan, MySQL tidak membenarkan nilai sifar dalam tarikh atau masa.

NO_ZERO_DATE

Jika mod ini didayakan, MySQL tidak membenarkan penggunaan tarikh "0000-00-00".

Pembelajaran yang disyorkan: "Tutorial Video MySQL"

Atas ialah kandungan terperinci Mari kita bercakap tentang pelbagai mod sql_mode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam