我的SQLite语法出错

时间:2009-10-22 19:34:49

标签: sql 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
)

3 个答案:

答案 0 :(得分:11)

在每个陈述后加上分号。

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

答案 1 :(得分: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> 

答案 2 :(得分:3)

不要忘记分号!