Таблица усечения SQL, в которой имя таблицы определено в аргументе или переменной функции - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь передать переменную или аргумент функции в метод execute

import pymysql

tablename = 'test_table'

con = pymysql.connect(**...)
with con.cursor() as cur:
    cur.execute("TRUNCATE TABLE %s", tablename)
con.commit()
con.close()

Следующая ошибка:

ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''test_table'' at line 1")

Ожидается отсутствие ошибок и test_table пуст из строк.

1 Ответ

0 голосов
/ 02 ноября 2019

В последнее время ТАК ослабевает ...

Я сделал это вместо этого, и это сработало:

import pymysql

tablename = 'test_table'

con = pymysql.connect(**...)
with con.cursor() as cur:
    cur.execute("TRUNCATE TABLE %s" % tablename)
con.commit()
con.close()

print('Done')
...