MySQL ma coś takiego:
INSERT INTO visits (ip, hits)
VALUES ('127.0.0.1', 1)
ON DUPLICATE KEY UPDATE hits = hits + 1;
O ile wiem, ta funkcja nie istnieje w SQLite, chciałbym wiedzieć, czy istnieje sposób na osiągnięcie tego samego efektu bez konieczności wykonywania dwóch zapytań. Jeśli nie jest to możliwe, co wolisz:
- SELECT + (INSERT lub UPDATE) lub
- UPDATE (+ INSERT, jeśli UPDATE nie powiedzie się )
upsert
takich w jednej transakcji, tj. Za pomocąexecutemany()
funkcji Pythona ?