报告被认为太长的标识符。 不同数据库的长度限制不同。
示例(MySQL):
CREATE TABLE ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
(
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo int
);
在 MySQL 中,标识符不得超过 64 个字符。
请考虑以下不同数据库的限制:
Sybase ASE:
- 带引号的名称:253 个字符
- 未加引号的名称:255 个字符
Db2 LUW:
- BUFFER POOL、INDEX EXTENSION、TABLESPACE、TRANSFORM、TYPE MAPPING: 18 个字符
- 其他对象:128 个字符
- Db2 iSeries:128 个字符
Db2 z/OS:
- DATABASE 和 TABLESPACE:8 个字符
- 列和带有 WITH RETURN 的光标:30 字符
- 其他对象:128 个字符
- Derby:128 个字符
- Exasol:128 个字符
- HSQLDB:128 个字符
MySQL:
- 查询中的别名: 256 个字符
- USER 和 ROLE:32 个字符
- 其他对象:64 个字符
MariaDB:
- USER:80 个字符
- ROLE: 128 个字符
- 其他对象:与 MySQL 相同
- Microsoft SQL Server:128 个字符
- Vertica:128 个字符
- SQL 92:128 个字符
- Snowflake:255 个字符
- Redshift:127 个字符
- PostgreSQL/Greenplum/Cockroach:63 个字符
Oracle: