Python中Flask使用SQLite3时遇到的SQL语句疑问
这是错误提示: db.execute('insert into Comment values ?', (request.form['content'])) OperationalError: near "?": syntax error
这是执行的操作 db.execute('insert into Comment values ?', (request.form['content']))
这是数据库 create table Comment( cid integer primary key autoincrement, content string not null );
请问我究竟错在哪了?
Python中Flask使用SQLite3时遇到的SQL语句疑问
我无法理解你的问题
你这个有两列就得给他两个问号填两个值,不然就要指名填哪些列。
而且最后你传入的 tuple 只有一个值的话,得加个逗号写成(value,)表示你传入了一个 tuple
db.execute(‘insert into Comment values ?’, (request.form[‘content’],))
像楼上所说,tuple 如果只有一个值,需要写成(a,)
我像你这样写也不行···
第一列是主键,默认递增加 1,就不用传输吧? 现在只需要传第二列的? 但是我写出像 tumbzzc 那样也不行··
推荐一个 ORM。
Pony ORM。
‘insert into Comment values (null,?)’, (request.form[‘content’],)
谢谢,但觉得一定要写成这样真是奇怪啊,可以的话我以后用 ORM 好了
那你想传哪些行你也得告诉数据库啊……得写成 insert into TABLE (content) values (?)


