我想在插入数据之前检查表是否存在。 这就是我的尝试:
def checkTables(tablename):
stmt = "SHOW TABLES LIKE %s"%tablename
cursor.execute(stmt)
result = cursor.fetchone()
return result
但它让我错误地说:
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 'ctg_payload3' at line 1
答案 0 :(得分:0)
也许这不是最好的方式。
至于我的意见,我会show tables;
,然后搜索结果。
而且,我无法执行show tables like tablename;
,没有这样的语法。
编辑1
如果必须在sql中执行,请使用
show table status like 'table_name';
这个sql需要 '
。
答案 1 :(得分:0)
尝试此查询字符串:SHOW TABLES WHERE Tables_in_mydb LIKE '%tablename%'
或
这一个
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'my_database_name'
AND table_name LIKE '%tablename%'
祝你好运
答案 2 :(得分:0)
试试这个。
def checkTables(tablename):
stmt = "SHOW TABLES LIKE '%s' "% ('%'+str(tablename)+'%')
cursor.execute(stmt)
result = cursor.fetchone()
return result