使用具有变量值的 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()