【问题标题】:Error in my SQLite syntax我的 SQLite 语法错误
【发布时间】:2009-10-22 19:34:48
【问题描述】:

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
)

【问题讨论】:

    标签: sql sqlite


    【解决方案1】:

    在每条语句后加分号。

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

    【讨论】:

      【解决方案2】:

      从使用 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> 
      

      【讨论】:

        【解决方案3】:

        不要忘记分号!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-24
          • 2012-08-07
          相关资源
          最近更新 更多