使用 python 创建 Mysql 数据库 - 不断收到 1064 错误(...在 '%s' 附近使用正确的语法)

Posted

技术标签:

【中文标题】使用 python 创建 Mysql 数据库 - 不断收到 1064 错误(...在 \'%s\' 附近使用正确的语法)【英文标题】:Creating Mysql database with python - keep getting 1064 error (... right syntax to use near '%s' )使用 python 创建 Mysql 数据库 - 不断收到 1064 错误(...在 '%s' 附近使用正确的语法) 【发布时间】:2020-12-13 10:50:06 【问题描述】:

事情是这样的: 我正在尝试通过导入数据库的名称然后创建它来创建一个新的 mysql 数据库。

代码如下:

import mysql.connector as mcon

# DB Connect
stdb = mcon.connect(
    host        = "localhost",
    user        = "root",
    password    = "pass",
    database    = "trffc_int_data")
cursor = stdb.cursor()

# Creating new DB
NewDB = input(" Enter the Database name : ")
sqlsynt = "CREATE DATABASE IF NOT EXISTS %s"
cursor.execute(sqlsynt,NewDB)                 
cursor.commit()
print ("New database created!") 

看起来不错,但我不断收到错误“1065>> em>

它指出了这条线:cursor.execute(sqlsynt,NewDB)

可能是什么问题?

【问题讨论】:

【参考方案1】:

您不能像这样绑定对象名称(在本例中为数据库名称),只能绑定值。您将不得不求助于字符串格式。例如:

newDB = input(" Enter the Database name : ")
sqlsynt = f"CREATE DATABASE IF NOT EXISTS newDB"
cursor.execute(sqlsynt,NewDB)

【讨论】:

以上是关于使用 python 创建 Mysql 数据库 - 不断收到 1064 错误(...在 '%s' 附近使用正确的语法)的主要内容,如果未能解决你的问题,请参考以下文章

python进阶-python MySQL

如何在 python 中使用 MySql 数据创建交互式列表

Python MYSQL-connector 备份创建

关于python使用django创建mysql表报错问题的解决

Python学习笔记-数据库的使用

python获取excel表头作为mysql的字段