Tutti,SQLite - l'inserimento di una stringa con a capo nella base di dati da file CSV
sto cercando di iniettare una voce di testo lungo in un database SQLite, in un campo di testo. Questo testo contiene nuove righe (ad esempio, si estende su più paragrafi).
posso ottenere le nuove linee di presentarsi se faccio l'inserire manualmente:
INSERT INTO "LOGENTRY" VALUES(5,40,'PLACE','line1
line2
line4
',1283990533315,'4A','TEXT','',NULL);
ma se ho il testo equivalente in un file CSV e tento di .import nella tabella, ottengo un errore che prevede più colonne di quante ne esistano (non appena viene rilevata la nuova riga, il programma presume che è la fine dell'input e quindi mancano le colonne).
È possibile? O è l'unico modo per fare manualmente ogni INSERT?
Buon punto, e grazie per aver effettivamente letto la domanda. Immagino che CSV sia inadatto per quello che voglio fare. – I82Much
La definizione "ufficiale" 'text/csv' (RFC 4180) consente interruzioni di riga all'interno dei campi. Sfortunatamente, non tutte le implementazioni li supportano. E CSV ha molti altri motivi per non essere adatto alle tabelle SQL, un grosso problema è la mancanza di un modo per distinguere tra '' 'e' NULL'. – dan04
Precedentemente ho downvoted, ma cambiato a upvote dopo che ho modificato per chiarire che il supporto csv di sqlite è limitato. Come dice @ dan04, i valori delle colonne csv possono contenere newline e molti strumenti lo supportano. –