1

我想创建一个新表,但它说我的查询错误,我不知道查询出了什么问题,因为我从 SQLite 数据库浏览器导出了数据库。这是查询,

CREATE TABLE sqlite_sequence(name,seq);

它说

#1064- 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'seq)' 附近使用正确的语法

如果我可以创建那个表,我想用这个插入那个表,

INSERT INTO sqlite_sequence VALUES('objek',55);

我希望它不会再犯错误。

请告诉我你的意见。

4

6 回答 6

2

当您将表的数据字段分配给自动增量(例如 _id 整数主键自动增量)时,会自动生成 sqlite_sequence 表

无法手动创建名为 sqlite_sequence 的表,因为“表名不能以 sqlite_ 开头作为保留供内部使用的对象名称:SQLITE_SEQUENCE”

于 2013-06-13T02:01:50.207 回答
2

您的 DDL 中唯一缺少的是列上缺少数据类型,

CREATE TABLE sqlite_sequence
(
    name VARCHAR(20),
    seq INT
);

更新 1

于 2013-02-19T05:34:26.793 回答
0

您需要为name和指定数据类型seq

尝试:

create table SQLITE_SEQUENCE ( name varchar(255), seq int );
于 2013-02-19T05:34:33.543 回答
0

定义data type字段(列)

CREATE TABLE sqlite_sequence(name varchar(200),seq int(8));
于 2013-02-19T05:35:09.063 回答
0

这是一个普通的创建表命令供参考:

CREATE TABLE demo (id integer NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE DEFAULT 0,name text);

是的,命令没有问题INSERT

于 2013-02-19T05:37:01.213 回答
0

您必须在每个表字段之后定义数据类型,如下所示:

CREATE TABLE sqlite_sequence (
                name VARCHAR(45),   
                seq INT
              );
于 2013-02-19T05:42:52.373 回答