51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

mysql:解决数据库名字的格式——不能用横杠-

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数据库名带下划线等特殊字符时,分权限报错{#cb_post_title_url}

问题一

假设我们有一个数据库名为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`;

赞(0)
未经允许不得转载:工具盒子 » mysql:解决数据库名字的格式——不能用横杠-