MySQL hat ungefähr so etwas:
INSERT INTO visits (ip, hits)
VALUES ('127.0.0.1', 1)
ON DUPLICATE KEY UPDATE hits = hits + 1;
Soweit ich weiß, ist diese Funktion in SQLite nicht vorhanden. Ich möchte wissen, ob es eine Möglichkeit gibt, denselben Effekt zu erzielen, ohne zwei Abfragen ausführen zu müssen. Wenn dies nicht möglich ist, was bevorzugen Sie:
- SELECT + (INSERT oder UPDATE) oder
- UPDATE (+ INSERT, wenn UPDATE fehlschlägt )
upsert
solcher Aktionen in einer Transaktion ausführen können, dh mit der Python-executemany()
Funktion.