是否应将MySQL中的所有表名都包含在反引号(`)中以防止与保留关键字冲突?我问的原因是因为它们的使用使得SQL不那么便携,因为并非所有数据库都允许反引号.
那么避免包含关键字的表名和列名是更好的行动方案吗?如果是这样,可以采取哪些措施来降低MySQL在下一个版本中添加可能与您的架构冲突的新关键字的风险.
有关于此的最佳做法吗?
最便携的方式(在系统之间)是使用双引号,但是,它需要ANSI_QUOTES在大多数安装中默认关闭的启用.
因此,尽管在不同引擎之间保持可用的兼容性(并且不兼容性并不仅限于反引号,而是仅限于MySQL其他系统之间的其他不同事物),否则会破坏不同设置之间的兼容性,MySQL这一点更为重要.
避免保留关键字始终是最佳解决方案.