Error number: MY-010520; Symbol: ER_INVALID_OR_OLD_TABLE_OR_DB_NAME; SQLSTATE: HY000
Message: Invalid (old?) table or database name ‘%s’
Error number:MY-010520
Symbol: ER_INVALID_OR_OLD_TABLE_OR_DB_NAME
SQLSTATE:HY000
错误说明:
MY-010520(ER_INVALID_OR_OLD_TABLE_OR_DB_NAME)是MySQL服务器上获取数据或更新数据时可能遇到的错误。它表示MYSQL无法访问要求的数据库或表,可能是数据库或表名不正确或不存在,也可能是表结构已被修改或修改不正确。
1.查询错误的数据库或表:使用SELECT语句查询数据库或表时,数据库的大小写或表的大小写未正确使用或不存在,就会抛出ER_INVALID_OR_OLD_TABLE_OR_DB_NAME错误。
2.使用旧表:迁移成功数据库/表时,如果用之前的表语句,就可能回抛出ER_INVALID_OR_OLD_TABLE_OR_DB_NAME错误。
3.错误的数据类型:使用INSERT INTO时,如果列的数据类型和VALUES中值的类型不匹配,就会抛出ER_INVALID_OR_OLD_TABLE_OR_DB_NAME错误。
解决方法:
1.检查表名和数据库名:数据库/表名称应当正确且不同,确保大小写正确。
2.检查表结构:应当及时更新表结构,以确保SQL语句中使用的表名和字段名正确。
3.执行FLUSH命令:可以使用FLUSH PRIVILEGES命令确保授权信息正确。
4.检查数据类型:确保SQL语句中列和VALUES中值的类型相匹配。