Ошибка в моем синтаксисе SQLite - PullRequest
5 голосов
/ 22 октября 2009

Впервые в 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 ]

11 голосов
/ 22 октября 2009

ставьте точку с запятой после каждого оператора.

CREATE TABLE ( ... ) ;
CREATE TABLE ( ... ) ;
4 голосов
/ 22 октября 2009

Начните с простых операторов, используя CLI sqlite3.

Тогда, если вы забудете ;, вы получите быструю обратную связь и сможете создать более сложный 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> 
3 голосов
/ 22 октября 2009

Не забывайте точки с запятой!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...