我的字段、表、查看器存储过程名称有时会出现问题。例子:
SELECT from, to, rate FROM Table1
问题是from是 SQL-92 中的保留字。您可以将字段名放在双引号中来解决这个问题,但是如果其他一些数据库工具想要读取您的数据库怎么办?这是您的数据库设计,如果其他应用程序对您的数据库有问题,那是您的错。
还有许多其他保留字(~300),我们应该避免所有这些。如果您将 DBMS 从制造商 A 更改为 B,您的应用程序可能会失败,因为一些字段名现在是保留字。一个名为PERCENT的字段可能适用于 oracle 数据库,但在 MS SQL Server 上,它必须被视为保留字。
我有一个工具可以对照这些保留字检查我的数据库设计;你也是?
这是我的规则
- 不要使用超过 32 个字符的名称(某些 DBMS 无法处理更长的名称)
- 仅使用 az、AZ、0-9 和下划线(:-;,/&!=?+- 是不允许的)
- 不要以数字开头的名字
- 避免这些保留字