一些人已经报告过,带引号的字符串中的分号会导致 SQL 错误。
我当前的设置是一个 SQLite 3 数据库,我正在尝试执行插入,我的新数据字段之一包含一些 HTML,作为其中的一部分,我有以分号结尾的 html 实体,例如 -è
我正在尝试的一个简单的精简示例查询如下:
insert into my_table (some_field) values ('Hello; world');
我得到的错误是:
1)
insert into my_table (some_field) values ('Hello
Error : unrecognized token: "'Hello"
2)
world')
Error : near "world": syntax error
因此,SQL 引擎显然看到了分号Hello; world
并将其解释为语句的结尾。我已经请其他几个人对此进行了测试,并且有些人在使用 SQLite GUI 时发现了这项工作,这让我相信这只是一个需要更改的 SQL 设置。
似乎至少在默认情况下,SQL 引擎只需要半冒号作为语句的结尾,有人知道如何更改吗?
这很奇怪,请尝试以下查询:
DROP TABLE IF EXISTS djp;
CREATE Table djp ("mykey" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" VARCHAR(25));
INSERT INTO djp (name) VALUES ('This is test two; OK?');
SELECT * FROM djp;
请注意,如果我在没有指定要插入的字段的情况下插入(使我的自动增量有点毫无意义),则不会发生错误...
INSERT INTO djp VALUES (1, 'This is test two; OK?');