sql - 数据库,其他语言的列名

标签 sql database

请问设置非英文列名有什么注意事项吗?

在同一代码 utf8 中,我尝试将列名称设置为其他语言,它可以创建并且看起来运行没有问题。但是,我想知道它是否是普通粒子或我应该考虑的任何注意事项?

非常感谢。

最佳答案

除了关键字和禁用字符,列名可以是任何你想要的。

CREATE TABLE Test
(Column1 int,
 Column2 float,
 kjsdahflskayfabvfalkhhg varchar(20))

是一个完全有效的表模式。它在很大程度上也是无用的。

计算机对此没有问题,因为它们只处理语法。另一方面,人们还必须处理语义(即它是什么意思)。

The apple ate the man.

The man ate the apple.

句法上都是正确的英语,但只有第二个在语义上是正确的,因为第一个描述了不可能的情况。

对于您的问题,表名和列名应该对使用它们的人有意义。如果大多数您数据库的用户 说斯瓦希里语,那么就使用斯瓦希里语单词。让表示层人员担心如何用他们的母语向您的应用程序用户显示它。高级编程语言拥有专门用于此的整个库。

如果你强制数据库程序员使用他们母语以外的语言工作,那么你就增加了另一个机会,让人们在将他们的想法转化为代码时犯错误。

但是,如果有充分的理由需要像这样的通用语言:

  • 这是契约(Contract)义务
  • 该计划适用于说英语的客户
  • 该计划拥有全局员工队伍

那么英语可能是你最好的选择。

关于sql - 数据库,其他语言的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14763594/

相关文章:

database - 增加标签

ruby-on-rails - 为什么我无法使用 "rake db:create"创建数据库?

sql - Excel 文件数据库中的 PRIMARY KEY 约束和 AUTO INCREMENT

sql - 在azure虚拟机上运行的sql server web版上的Reporting服务可以使用azure数据库作为数据源吗?

sql - T-SQL : Looping through an array of known values

mysql - 如何修复mysql中的 "right syntax to use near ' as begin“错误?

database - 如何在 NoSQL 环境中创建以下数据结构

java - 有没有办法在objectDB的资源管理器中删除表?

mysql - 使用if else自动更新mysql表中的记录

sql - 在一个语句中选择并分配给变量?