嗨,我不明白为什么
sql = '''SELECT * FROM sqlite_master WHERE name =':name' and type='table' '''
cursor.execute(sql,{'name' : table_name})
不能工作(返回无)但
sql = "SELECT * FROM sqlite_master WHERE name ='" + table_name + "' and type='table'"
cursor.execute(sql)
这一项工作...... 我真的想使用第一个,因为它更好,更合适,但我不明白为什么不工作。
提前致谢:)
答案 0 :(得分:0)
在SQL查询中使用参数替换的一个原因是它负责为您引用。因此,通过在第一个片段中引用自己的引号,您最终会得到双引号,这不会匹配。查询应该只是:
sql = '''SELECT * FROM sqlite_master WHERE name =:name and type='table' '''