【问题标题】:"SQLite error near ",": syntax error" [duplicate]““,”附近的“SQLite错误:语法错误” [重复]
【发布时间】:2018-10-08 00:23:44
【问题描述】:

我正在使用 sqlite3 并尝试将数据放入我的数据库中。

INSERT INTO Structure VALUES
('521D5E7ABC165','1','DECODE','T','4','Y','Y'),
('521D5E7ABC165','2','DEDESC','T','40','N','Y'), 
('521D5E7ABC165','3','DDZMD8','T','10','N','Y'), 
('521D5E7ABC165','4','DDZMTM','T','8','N','Y'), 
('521D5E7ABC165','5','DDZMID','T','10','N','Y'), 
('521D5E7ABC165','6','DDZMTL','T','10','N','Y'), 
('521D5E7ABC165','7','DDZMBR','T','5','N','Y'),
('521D5E7ABC165','8','DDZND8','T','10','N','Y'), 
('521D5E7ABC165','9','DDZNTM','T','8','N','Y'), 
('521D5E7ABC165','10','DDZNID','T','10','N','Y'), 
('521D5E7ABC165','11','DDZNTL','T','10','N','Y'), 
('521D5E7ABC165','12','DDZNBR','T','5','N','Y')

我尝试在 DBBrowser 中为 SQLLITE 执行命令,但是当我尝试通过 System.Data.SQLite.dll - ExecuteNonQuery 执行时,它返回错误:

““,”附近的SQLite错误:语法错误”

谁能帮忙?

这是表结构

CREATE TABLE `Structure` (
    `HeaderID`  TEXT,
    `SeqNo` INTEGER,
    `FieldName` TEXT,
    `FieldType` TEXT,
    `FieldLength`   TEXT,
    `IsKey` TEXT,
    `IncludeRecord` TEXT,
    PRIMARY KEY(`HeaderID`,`SeqNo`)
);

sqlite3 版本是:3.15.2

【问题讨论】:

  • 您缺少一个终止分号,但这可能无关紧要。更重要的是您向我们展示您的表结构。
  • 您使用的 sqlite DLL 版本是什么?这种多值语法是在 3.7.11 sqlite.org/changes.html#version_3_7_11 中引入的
  • sqlite3 版本是:3.15.2 & 我在帖子中添加了表结构。谢谢
  • 如果您在使用 sqlite.dll 时遇到问题,那么有趣的是它的版本。 select sqlite_version(); 找出答案。
  • 尝试删除数字周围的单引号。因为它被视为字符串,并且在您的表中 SeqNo 是一个整数列

标签: sqlite


【解决方案1】:

直接从您的问题中复制的 SQL 对我有用(加上终止的 ;)。

% sqlite3 so.sqlite3 
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
sqlite> CREATE TABLE `Structure` (
   ...>     `HeaderID`  TEXT,
   ...>     `SeqNo` INTEGER,
   ...>     `FieldName` TEXT,
   ...>     `FieldType` TEXT,
   ...>     `FieldLength`   TEXT,
   ...>     `IsKey` TEXT,
   ...>     `IncludeRecord` TEXT,
   ...>     PRIMARY KEY(`HeaderID`,`SeqNo`)
   ...> );
sqlite> INSERT INTO Structure VALUES
   ...> ('521D5E7ABC165','1','DECODE','T','4','Y','Y'),
   ...> ('521D5E7ABC165','2','DEDESC','T','40','N','Y'), 
   ...> ('521D5E7ABC165','3','DDZMD8','T','10','N','Y'), 
   ...> ('521D5E7ABC165','4','DDZMTM','T','8','N','Y'), 
   ...> ('521D5E7ABC165','5','DDZMID','T','10','N','Y'), 
   ...> ('521D5E7ABC165','6','DDZMTL','T','10','N','Y'), 
   ...> ('521D5E7ABC165','7','DDZMBR','T','5','N','Y'),
   ...> ('521D5E7ABC165','8','DDZND8','T','10','N','Y'), 
   ...> ('521D5E7ABC165','9','DDZNTM','T','8','N','Y'), 
   ...> ('521D5E7ABC165','10','DDZNID','T','10','N','Y'), 
   ...> ('521D5E7ABC165','11','DDZNTL','T','10','N','Y'), 
   ...> ('521D5E7ABC165','12','DDZNBR','T','5','N','Y');
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE `Structure` (
    `HeaderID`  TEXT,
    `SeqNo` INTEGER,
    `FieldName` TEXT,
    `FieldType` TEXT,
    `FieldLength`   TEXT,
    `IsKey` TEXT,
    `IncludeRecord` TEXT,
    PRIMARY KEY(`HeaderID`,`SeqNo`)
);
INSERT INTO "Structure" VALUES('521D5E7ABC165',1,'DECODE','T','4','Y','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',2,'DEDESC','T','40','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',3,'DDZMD8','T','10','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',4,'DDZMTM','T','8','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',5,'DDZMID','T','10','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',6,'DDZMTL','T','10','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',7,'DDZMBR','T','5','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',8,'DDZND8','T','10','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',9,'DDZNTM','T','8','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',10,'DDZNID','T','10','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',11,'DDZNTL','T','10','N','Y');
INSERT INTO "Structure" VALUES('521D5E7ABC165',12,'DDZNBR','T','5','N','Y');
COMMIT;

【讨论】:

    猜你喜欢
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2016-03-12
    • 2020-05-02
    • 1970-01-01
    相关资源
    最近更新 更多