Ich kann nur Strings und Zahlen eingeben, aber gibt es eine Möglichkeit, eine Liste einzugeben? Grundsätzlich habe ich ein Wörterbuch und jeder Schlüssel wird in die Datenbank eingegeben. Der Wert für jeden Schlüssel ist eine Liste und ich möchte dies auch in der Datenbank.Wie füge ich eine Liste in eine sqlite3-Datenbank ein?
1
A
Antwort
1
SQLite3 hat keinen Array-Datentyp. (Siehe Datatypes in SQLite version 3)
Aber Sie können serialisieren, um es in sqlite3 Tabelle einzufügen.
Beispielsweise können Sie die Liste in JSON-Zeichenfolge konvertieren und die Zeichenfolge in die Tabelle einfügen. (json.dumps
)
cursor.execute('INSERT INTO a_table (..., a_list_field) values (..., ?)',
[..., json.dumps(a_list_object)])
Wenn Sie es auswählen, konvertiert sie zurück zur Liste von JSON-String zu laden.()
0
Mit sqlite3 konnte ich dieses Skript ausführen, das eine Datenbank löscht und sie mit neuen Daten unter Verwendung einer Liste mit dem Namen data
umschreibt. Dies kann oder möglicherweise nicht Ihre Frage beantworten:
from views import db
from config import DATABASE_PATH
import sqlite3
from datetime import datetime
with sqlite3.connect(DATABASE_PATH) as connection:
c = connection.cursor()
c.execute("""ALTER TABLE tasks RENAME TO old_tasks""")
db.create_all()
c.execute("""SELECT name, due_date, priority,
status FROM old_tasks ORDER BY task_id ASC""")
data = [(row[0], row[1], row[2], row[3],
datetime.now(), 1) for row in c.fetchall()]
c.executemany("""INSERT INTO tasks (name, due_date, priority, status,
posted_date, user_id) VALUES (?, ?, ?, ?, ?, ?)""", data)
c.execute("DROP TABLE old_tasks")
Wenn das obige Skript ausgeführt wird, data
in Teillisten nimmt und nutzt die Daten von ihnen eine neue Datenbank zu erstellen.
Ich hoffe, ich half!
Verwandte Themen
- 1. Wie füge ich eine verfremdete Liste in jquery ein?
- 2. Wie füge ich eine Zeichenfolge in eine andere Zeichenfolge ein?
- 3. Wie füge ich eine verknüpfte Liste in C++ zusammen?
- 4. Wie füge ich eine Zeile in jede Datei ein?
- 5. Wie füge ich eine Variable in ein PHP-Array ein?
- 6. Wie füge ich ein rechteckiges Overlay in eine Kameraanwendung ein?
- 7. Wie füge ich ein Datum in eine DATETIME-Spalte ein?
- 8. Wie füge ich ein Produkt in eine Liste ein, ohne die gesamte Datenbank zu laden?
- 9. Pentaho füge eine Liste in die sql where-Klausel ein
- 10. Wie füge ich Text in eine Datei in Golang ein?
- 11. Wie füge ich eine Zeichenfolge ein, die ein "&" enthält
- 12. Wie füge ich einen Bildnamen in eine Datenbank ein?
- 13. Wie füge ich "arr [i]" in eine for-Schleife ein?
- 14. Wie füge ich eine neue Schriftart in PhpPresentation ein
- 15. Wie füge ich Sonderzeichen in eine Datenbank ein?
- 16. Wie füge ich Datetime-Wert in eine SQLite-Datenbank ein?
- 17. Wie füge ich eine Konvertierungsfunktion in meinen Ausdrucksbaum ein?
- 18. Wie füge ich mehrere Checkbox-Werte in eine Tabelle ein?
- 19. Wie füge ich eine multiple Tabelle in mysql ein?
- 20. Wie füge ich Text in eine mehrzeilige Textbox ein?
- 21. Wie füge ich eine Liste an eine bestehende Liste von Listen an?
- 22. Wie erstelle ich ein Array/eine Liste?
- 23. Prolog - wie fügen Sie ein Element in eine Liste ein
- 24. Wie füge ich eine POST-Anforderung in eine UIWebView
- 25. Wie füge ich eine Abfrage innerhalb einer Klasse ein?
- 26. Wie füge ich Firefox eine Schaltfläche hinzu?
- 27. Wie füge ich eine Liste vor der aktuellen Liste in Sublime Text hinzu
- 28. Wie füge ich eine benutzerdefinierte Überprüfungsregel hinzu?
- 29. Wie überprüfe ich eine Liste in Haskell?
- 30. Wie füge ich eine Klasse CodeIgniter Anchor
Möchten Sie die Liste als einen Eintrag oder als Tabelle eingeben? Wenn es sich um eine Tabelle handelt, verwenden Sie entweder wiederholte Einsätze oder einen Blockeinsatz. Siehe https://www.sqlite.org/lang_insert.html - werfen Sie einen Blick auf die Syntax des VALUES-Teils – cup