OperationalError:near"(&#34 ;:语法错误"在SQLite3处

时间:2017-02-25 23:12:18

标签: sqlite

在参加SQLite3的速成课程后,我尝试为我的第一个项目创建一个数据库:

import sqlite3 as db

conn = db.connect('todo.db')
cursor = conn.cursor()

cursor.execute("CREATE TABLE todo(id serial primary key, title text, created 
timestamp default now(), done boolean default 'f')")

cursor.execute("INSERT INTO todo (title) VALUES('Learn web.py')")

不幸的是我收到了这个错误:

  

OperationalError:near"(&#34 ;:语法错误"在SQLite3

我不明白代码有什么问题。谁能解释我做错了什么?

1 个答案:

答案 0 :(得分:0)

documentation所示,如果默认值不是简单值,则必须用括号括起来:

CREATE TABLE todo(
    ...,
    created timestamp default (now()),
    done boolean default 'f'
);

(并且'f'不是boolean的有效值。now()不是SQLite函数。)