Ho scritto lo schema del database (solo una tabella fino ad ora) e le istruzioni INSERT per quella tabella in un file. Poi ho creato il database come segue:Escape carattere di virgoletta singola da utilizzare in una query SQLite
$ 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
Linea 16 del mio file sembra qualcosa di simile:
INSERT INTO table_name (field1, field2) VALUES (123, 'Hello there\'s');
Il problema è il carattere di escape per una sola offerta. Ho anche provato a evadere doppiamente la citazione singola (utilizzando \\\'
anziché \'
), ma non ha funzionato neanche. Che cosa sto facendo di sbagliato?
Inoltre, considerare l'utilizzo legato parametri se la lingua host li supporta (la maggior parte lo fanno, ma la shell SQLite no). L'SQL sarebbe quindi 'INSERT INTO table_name (field1, field2) VALUES (?,?)' Ei valori sarebbero forniti direttamente (e senza sostituzioni). –