无法使用输入作为名称在Python中创建SQL表

时间:2016-08-26 12:13:59

标签: python sql sqlite

我的python代码有点问题。我想从用户那里获取输入,并根据该输入创建一个具有该名称的SQL表。我接受table_name变量中的输入,并希望这样做:

sql = "CREATE TABLE %s" % table_name
cur.execute(sql)

假设我用输入“书籍”来运行它。我收到这个错误:

  

文件“XXX”,第55行,在FUNCTIONNAME中.trow.execute(sql)
  sqlite3.OperationalError:靠近“books”:语法错误

关于什么是错的任何想法?我google了它,上面的代码应该没问题,但它不是......

1 个答案:

答案 0 :(得分:4)

这很可能是因为你没有传递表定义(列名及其类型,大小)。我从发布的代码中看到的是,您只传递表名,因此您的查询变得低于完全错误

CREATE TABLE books