【发布时间】:2015-12-30 07:33:08
【问题描述】:
我在谷歌上找不到任何东西,也许我没有搜索正确的术语。 但是 mysql 数据库中的列名是否有不允许的字符列表?我对 $ 符号特别感兴趣。
【问题讨论】:
-
虽然 mysql 不需要引用
$,但在使用 PHP 时,请注意字符串中的插值并相应地转义。
我在谷歌上找不到任何东西,也许我没有搜索正确的术语。 但是 mysql 数据库中的列名是否有不允许的字符列表?我对 $ 符号特别感兴趣。
【问题讨论】:
$,但在使用 PHP 时,请注意字符串中的插值并相应地转义。
从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
回答您的问题,是的。您可以在引用或未引用的列名中使用 $ 字符。
【讨论】:
collation config 与permitted characters 混淆了。看看这个问题了解更多细节:stackoverflow.com/questions/34387766/…