Error number: MY-013522; Symbol: ER_SCHEMA_NAME_IN_UPPER_CASE_NOT_ALLOWED_FOR_FK; SQLSTATE: HY000
Message: Schema name ‘%s’ containing upper case characters, used by foreign key ‘%s’ in table ‘%s.%s’, is not allowed with lower_case_table_names = 1.
错误说明:
MY-013522是MySQL数据库管理系统的一个错误,它的完整全称为ER_SCHEMA_NAME_IN_UPPER_CASE_NOT_ALLOWED_FOR_FK,它的SQLSTATE标识符为HY000。这意味着使用大写字母来命名外键上的schema是不允许的。
比如,如果一个用户在定义一个外键时,他把schema命名为“MyDataBase”,而不是“mydatabase”或“Mydatabase”,导致了一个MY-013522错误。
解决方法:
为了解决这个错误,MySQL用户可以使用正确的case(大小写)来命名schema。或者可以改变MySQL的配置,允许使用大写字母来定义schema,只需要在MySQL配置文件中将参数’lower_case_table_names’的值设置为2.但是,我们不推荐这么做,因为它就意味着我们要将表名称转换为大写字母,而不是使用正确的case让它能够被检测到。