2009-10-22 12 views
5

Nouveau sur SQLite donc je ne sais pas ce que je fais mal. Je suis juste une erreur en disant:Erreur dans ma syntaxe SQLite

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

Voici mon 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 
) 

Répondre

11

mis un point-virgule après chaque instruction.

CREATE TABLE (...) ; 
CREATE TABLE (...) ; 
3

N'oubliez pas les points-virgules!

4

Commencez par des instructions simples à l'aide de la CLI sqlite3. Ensuite, si vous oubliez un ;, vous obtiendrez un retour rapide et pourrez construire un SQL plus complexe.

$ 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>