【问题标题】:Is there a "not allowed" character list for mysql table's column names?mysql 表的列名是否有“不允许”字符列表?
【发布时间】:2015-12-30 07:33:08
【问题描述】:

我在谷歌上找不到任何东西,也许我没有搜索正确的术语。 但是 mysql 数据库中的列名是否有不允许的字符列表?我对 $ 符号特别感兴趣。

【问题讨论】:

标签: php mysql database


【解决方案1】:

MySQL docs 中提取,假设您至少使用 MySQL 5.0 或更高版本:

未引用标识符中允许的字符:

  • ASCII:[0-9,a-z,A-Z$_](基本拉丁字母、数字 0-9、美元、下划线)

  • 扩展:U+0080 ..U+FFFF

带引号的标识符中允许的字符包括完整的 Unicode 基本多语言平面 (BMP),但 U+0000 除外:

  • ASCII:U+0001 .. U+007F

  • 扩展:U+0080 ..U+FFFF

TL;DR

回答您的问题,是的。您可以在引用或未引用的列名中使用 $ 字符。

【讨论】:

  • 如果这对于引用的标识符是正确的,那么为什么这会给我一个重复值错误: col1 ENUM('VŠS', 'VSS') ?似乎这里只允许使用 ASCII...
  • @TomoMiha 我认为您将collation configpermitted characters 混淆了。看看这个问题了解更多细节:stackoverflow.com/questions/34387766/…
  • 谢谢,同时我发现我必须将 COLLATION 的东西从 ut8mb4_unicode_ci 更改为 utf8mb4_bin 才能正常工作
猜你喜欢
  • 1970-01-01
  • 2015-11-30
  • 1970-01-01
  • 1970-01-01
  • 2015-12-30
  • 2021-02-15
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多