2025年3月4日 星期二

MySQL default sql_mode

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
若沒特別設定,MySQL 預設的 sql_mode 就是上面的值

若本來 sql_mode 是空的,要啟用預設值,有幾點要注意:
1. 當 INSERT/UPDATE 時,值不能超出欄位長度,不然會報錯 (STRICT_TRANS_TABLES)
2. 當 INSERT 時,若沒有指定到的欄位,沒有預設值,會報錯 (STRICT_TRANS_TABLES)
3. 當 INSERT/UPDATE 字串到數字類欄位,會報錯 (STRICT_TRANS_TABLES)
4. 以前能用的 GROUP BY 語法,啟用後可能無法使用 (ONLY_FULL_GROUP_BY)
5. 不能使用 0000-00-00 及 0000-00-00 00:00:00 這種日期時間 (NO_ZERO_IN_DATE,NO_ZERO_DATE)

沒有留言:

SSH Jump host connection

SSH 跳板機連線 情境: 1跳,透過 Host A 連 Host B ssh -J user@hostA user@hostB 情境: 2跳,透過 Host A 連 Host B,再連到 Host C ssh -J user@hostA,user@hostB user@host...