Rumah >pangkalan data >tutorial mysql >Mari kita bercakap tentang pelbagai mod sql_mode
Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql terutamanya mengenai pelbagai mod sql_mode boleh lihat di bawah.
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!