繁体   English   中英

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

[英]Creating Mysql database with python - keep getting 1064 error (… right syntax to use near '%s' )

事情是这样的:我正在尝试通过导入数据库的名称然后创建它来创建一个新的 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 >>您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在 '%s' <<”附近使用的正确语法

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

可能是什么问题呢?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM