2009-10-22 92 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>