Ich schrieb das Datenbankschema (bisher nur eine Tabelle) und die INSERT-Anweisungen für diese Tabelle in einer Datei. Dann habe ich die Datenbank wie folgt:Escape-Anführungszeichen zur Verwendung in einer SQLite-Abfrage
$ sqlite3 newdatabase.db
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> .read ./schema.sql
SQL error near line 16: near "s": syntax error
Linie 16 meiner Datei etwa wie folgt aussieht:
INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
Das Problem der Escape-Zeichen für ein Apostroph ist. Ich habe auch versucht, doppelt das einfache Zitat zu entkommen (mit \\\'
anstelle von \'
), aber das hat auch nicht funktioniert. Was mache ich falsch?
Bedenken Sie außerdem, gebunden mit Parameter, wenn die Host-Sprache sie unterstützt (die meisten tun dies, aber die SQLite-Shell nicht). Die SQL wäre dann 'INSERT INTO Tabellenname (field1, field2) VALUES (?,?)' Und die Werte würden direkt (und ohne Ersetzungen) geliefert werden. –