MySQL 表名一律用小写最稳
SQL 关键字大小写都能跑,惯例是关键字大写、表名列名小写 snake_case。
但表名的大小写和操作系统有关,由 lower_case_table_names 决定:
| 系统 | 默认值 | 表名区分大小写 |
|---|---|---|
| Linux | 0 | 区分 |
| macOS | 2 | 不区分 |
| Windows | 1 | 不区分 |
在 Mac 上写 SELECT * FROM User 能跑,部署到 Linux 上就报找不到 user 表。这个值只能在初始化数据目录时设置,之后改不了。
最省事的做法:表名一律小写。