引用符で囲まれた文字列内のセミコロンが SQL エラーを引き起こす可能性があることは、すでに何人かによって報告されています。
私の現在の設定は SQLite 3 データベースで、挿入を実行しようとしています。新しいデータのフィールドの 1 つに 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?');