使用MySQL创建数据库时遇SQL语法错误,求助排查解决
解决MySQL创建数据库的1064语法错误
错误原因
核心问题是你使用了MySQL的保留关键字作为数据库名。database是MySQL的内置保留字,直接在CREATE DATABASE语句中使用会触发语法解析错误。
解决方案
方案1:避免使用保留字作为数据库名
将数据库名改为非保留字,比如my_test_db、app_database这类自定义名称,修改后的执行语句如下:
my_cursor.execute("CREATE DATABASE my_test_db")
方案2:用反引号包裹保留字(不推荐)
如果一定要使用database这类保留字作为名称,需要用MySQL的反引号(`)将名称括起来,示例代码:
my_cursor.execute("CREATE DATABASE `database`")
额外排查点
如果更换名称后仍报错,检查新名称是否也是MySQL保留字(比如user、table、order等),或者包含空格、特殊字符(如@、#),这类情况同样需要用反引号包裹,或者更换合规名称。
内容的提问来源于stack exchange,提问作者green
相关产品推荐
相关产品推荐

