--问题描述
在创建mysql数据库的时候出现报错:
mysql> CREATE DATABASE IF NOT EXISTS test-db1 default charset utf8 COLLATE utf8_general_ci;
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 '-db1 default charset utf8 COLLATE utf8_general_ci' at line 1
--问题分析
从报错可以看出,是语法拼写问题,检查了几遍发现确实没有问题
猜测可能是数据库名称中 - 字符的问题
--原因
mysql数据库直接创建是不能创建带特殊字符的库名的
--问题解决
需要使用 ` 符号进行转义处理,这个符号是esc下面的那个键,不是单引号
mysql> CREATE DATABASE IF NOT EXISTS `test-db1` default charset utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.03 sec)
--延伸,同理在授权以及其他处理该库的时候也要加上对应符号`
grant ALL PRIVILEGES on `test-db1`.* to test@'%';
本文详细解析了在创建MySQL数据库时遇到的特殊字符(如“-”)作为库名导致的语法错误,并提供了正确的创建方法及后续操作注意事项。

2588

被折叠的 条评论
为什么被折叠?



