Substitua o nome da tabela pela variável Usando o conector python e mysql
Gostaria de alterar dinamicamente o nome da variável da tabela na qual insiro dados.
Isso funciona atualmente,
def dataEntry(subreddit, _title, _post_url, _imageURL):
cnx = mysql.connector.connect(**config)
c = cnx.cursor()
insert = ("""INSERT INTO FoodPorn
(subreddit, title, post_url, imageURL)
VALUES (%s, %s, %s, %s)""")
data_value = (subreddit, _title, _post_url, _imageURL)
c.execute(insert, data_value)
cnx.commit()
c.close()
cnx.close()
dataEntry("fake", "fake", "fake", "fake")
mas quando tento fazer o mesmo com o nome da tabela, neste caso "FoodPorn", mas com uma dinâmica, como neste exemplo MachinePorn,
def dataEntry(subreddit, _title, _post_url, _imageURL):
cnx = mysql.connector.connect(**config)
c = cnx.cursor()
insert = ("""INSERT INTO subredditName
(subreddit, title, post_url, imageURL)
VALUES (%s, %s, %s, %s, %s)""")
data_value = ("MachinePorn", subreddit, _title, _post_url, _imageURL)
c.execute(insert, data_value)
cnx.commit()
c.close()
cnx.close()
dataEntry("fake", "fake", "fake", "fake")
Eu recebo esse erro,
mysql.connector.errors.ProgrammingError: 1146 (42S02): Table 'sytykr.subredditname' doesn't exist
Isso me leva a acreditar que não posso fazê-lo dessa maneira e, por isso, gostaria de perguntar como posso fazê-lo, para que possa passar um nome de variável na tabela em vez de precisar codificá-lo todas as vezes.