mysql:解决数据库名字的格式——不能用横杠-
mysql 数据库名字用-而非_ 下划线报错处理(mysql数据库名带下划线等特殊字符时,分权限报错)
不过命名数据库大家还是尽量不要用这种有争议的字符。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '-crm.
mysql数据库名带下划线等特殊字符时,分权限报错
问题一
假设我们有一个数据库名为test_db,其中包含一张名为user_info的表。我们想给一个用户test_user授予对test_db数据库的读权限。我们可以使用如下SQL语句进行权限授予:
GRANT SELECT ON test_db.* TO 'test_user'@'localhost';
然而,如果我们的数据库名为test_db_new,同样执行上述SQL语句,就会遇到权限报错的问题。这是因为MySQL对于数据库名中的下划线会被解释为通配符,导致授权失败。
解决方法
为了解决这一问题,我们可以使用反引号(`)将数据库名括起来,从而避免下划线被误解。修改上述SQL语句为:
GRANT SELECT ON `test_db_new`.* TO 'test_user'@'localhost';
1.
这样就可以成功授权test_user对test_db_new数据库的读权限了。
问题二:
数据库名是 test-mydb 格式(非下划线)
解决方法:对数据库名加`号(1旁边那个)
create database `xxx-yyy`;
欢迎来撩 : 汇总all