在参加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
我不明白代码有什么问题。谁能解释我做错了什么?
答案 0 :(得分:0)
如documentation所示,如果默认值不是简单值,则必须用括号括起来:
CREATE TABLE todo(
...,
created timestamp default (now()),
done boolean default 'f'
);
(并且'f'
不是boolean的有效值。now()
不是SQLite函数。)