Можно ли дать имя, вводимое пользователем, таблице, которая создается в sql с помощью интерфейса python? - PullRequest
1 голос
/ 10 июля 2020

Я пытаюсь выполнить проект, который включает создание новой таблицы с именем, вводимым пользователем, но это не работает. Надеюсь, данной информации достаточно.

Это то, что я пробовал:

import mysql.connector as myc

db=myc.connect(host='localhost',database='xyz',user='root',passwd='root')
mc=db.cursor()

name=input("name=")` 

x=("CREATE TABLE %s (S_NO VARCHAR(100),CONSULTATION_REASON VARCHAR(100),CONSULTED_DOCTOR VARCHAR(100),
FEES VARCHAR(100))")` 

mc.execute(x,name)
db.commit

и выдает такую ​​ошибку:

error ::: mysql .connector.errors.ProgrammingError: 1064 (42000): у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии MySQL сервера, чтобы найти правильный синтаксис для использования рядом с '% s (S_NO VARCHAR (100), CONSULTATION_REASON VARCHAR (100), CONSULTED_DOCTOR VARCHAR (' в строке 1 :::

Буду очень признателен за любой ответ.

1 Ответ

0 голосов
/ 10 июля 2020

попробуйте это

import mysql.connector as myc
db=myc.connect(host='localhost',database='xyz',user='root',passwd='root')
mc=db.cursor()
name=input("name=")
x=("CREATE TABLE "+name+" (S_NO VARCHAR(100),CONSULTATION_REASON 
VARCHAR(100),CONSULTED_DOCTOR VARCHAR(100), FEES VARCHAR(100))")
mc.execute(x,name)
db.commit
...