使用具有变量值的 mysql python 创建 table
Creating a table using mysql python with variable values
我正在尝试使用 python-flask 在 MySQL 中创建一个 table。 table 名称是 'id' 参数,我从我的服务器中提取。我希望此 ID 成为我正在创建的 table 的名称,但是当我尝试这样做时,出现以下错误:
'mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“46490210 (user varchar(50), message varchar(150))”附近使用的正确语法
这里是python-sql代码供参考。
#the file name is chat_db.py
def createTable(id):
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS %s (user varchar(50), message varchar(150))",(id,))
db.commit()
这是 Flask 代码(没有装饰器):
import chat_db as roomdb
import random
def rand_id():
return random.randint(10000000,99999999)
def roomTable():
roomdb.createTable(rand_id())
roomTable()
请大家帮忙! :)
在mysql中只有数字是不允许的,所以你需要在数字前加一个字母
在我的示例中,我使用了字母 A
,但它当然可以是您喜欢的任何文本。
但我不明白你为什么要在循环中做这样的事情。
def createTable(id):
cursor = cnx.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS A%s (user varchar(50), message varchar(150))",(id,))
cnx.commit()
我正在尝试使用 python-flask 在 MySQL 中创建一个 table。 table 名称是 'id' 参数,我从我的服务器中提取。我希望此 ID 成为我正在创建的 table 的名称,但是当我尝试这样做时,出现以下错误:
'mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“46490210 (user varchar(50), message varchar(150))”附近使用的正确语法
这里是python-sql代码供参考。
#the file name is chat_db.py
def createTable(id):
cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS %s (user varchar(50), message varchar(150))",(id,))
db.commit()
这是 Flask 代码(没有装饰器):
import chat_db as roomdb
import random
def rand_id():
return random.randint(10000000,99999999)
def roomTable():
roomdb.createTable(rand_id())
roomTable()
请大家帮忙! :)
在mysql中只有数字是不允许的,所以你需要在数字前加一个字母
在我的示例中,我使用了字母 A
,但它当然可以是您喜欢的任何文本。
但我不明白你为什么要在循环中做这样的事情。
def createTable(id):
cursor = cnx.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS A%s (user varchar(50), message varchar(150))",(id,))
cnx.commit()