2009-10-22 71 views
5

SQLite的新手,所以我不知道我在做什么错。我只是得到一个错误说:我的SQLite语法错误

SQLSTATE[HY000]: General error: 1 near "CREATE": syntax error 

这里是我的SQL:

CREATE TABLE users (
    id INTEGER NOT NULL PRIMARY KEY, 
    date_created DATETIME NOT NULL, 
    date_updated DATETIME NOT NULL, 
    username VARCHAR(32) NOT NULL, 
    password VARCHAR(32) NOT NULL, 
    role VARCHAR(32) NOT NULL DEFAULT 'member', 
    first_name VARCHAR(50) NOT NULL, 
    last_name VARCHAR(50) NOT NULL, 
    email VARCHAR(128) NOT NULL 
) 

CREATE TABLE subscribers (
    id INTEGER NOT NULL PRIMARY KEY, 
    name VARCHAR(40) DEFAULT NULL, 
    email VARCHAR(255) NOT NULL UNIQUE 
) 

CREATE TABLE weekly_download (
    id INTEGER NOT NULL PRIMARY KEY, 
    filename TEXT NOT NULL, 
    download_date DATE NOT NULL, 
    body TEXT 
) 

回答

11

把分号每个语句后。

CREATE TABLE (...) ; 
CREATE TABLE (...) ; 
4

从使用sqlite3 CLI的简单语句开始。

然后,如果您忘记了;,您将获得快速反馈,并可构建更复杂的SQL。

$ sqlite3 /tmp/test.db 
SQLite version 3.5.9 
Enter ".help" for instructions 
sqlite> create table badsyntax; 
SQL error: near ";": syntax error 
sqlite> create table abc (x,y); 
sqlite>