Wszystko,SQLite - wstawienie łańcuch z nowymi liniami do bazy danych z pliku csv
Próbuję wstrzyknąć długiego wpisu tekstowego do bazy danych SQLite, w polu tekstowym. Ten tekst zawiera nowe linie (to znaczy obejmuje wiele akapitów).
mogę uzyskać nowe linie, aby pokazać się, czy zrobić INSERT ręcznie:
INSERT INTO "LOGENTRY" VALUES(5,40,'PLACE','line1
line2
line4
',1283990533315,'4A','TEXT','',NULL);
ale jeśli mam równoważny tekst w pliku CSV i próbować .import go do tabeli, otrzymuję błąd, że oczekuje więcej kolumn niż istnieje (od razu po napotkaniu nowego wiersza program przyjmuje, że jest to koniec danych wejściowych, a zatem brakuje kolumn).
Czy to możliwe? Czy jest to jedyny sposób ręcznego wykonywania każdego INSERT?
Dobra uwaga i dziękuję za przeczytanie pytania. Sądzę, że CSV nie nadaje się do tego, co chcę robić. – I82Much
"Oficjalna" definicja 'text/csv' (RFC 4180) zezwala na podział linii w polach. Niestety nie każda implementacja je obsługuje. A CSV ma kilka innych powodów, dla których nie nadaje się do tabel SQL, a dużym jest brak sposobu na rozróżnienie między '' '' i 'NULL'. – dan04
Poprzednio odrzucono, ale zmieniono na upvote po tym, jak zredagowałem, aby wyjaśnić, że obsługa CSV w sqlite jest ograniczona. Jak mówi @ dan04, wartości kolumn csv mogą zawierać znaki nowej linii i wiele narzędzi wspiera to. –