Jak niezawodnie sprawdzać w SQLite, czy istnieje konkretna tabela użytkowników?
Nie pytam o niewiarygodne sposoby, takie jak sprawdzenie, czy „select *” na stole zwróciło błąd, czy nie (czy to nawet dobry pomysł?).
Powód jest następujący:
W moim programie muszę utworzyć, a następnie wypełnić niektóre tabele, jeśli jeszcze nie istnieją.
Jeśli już istnieją, muszę zaktualizować niektóre tabele.
Czy zamiast tego powinienem wybrać inną ścieżkę, aby zasygnalizować, że tabele, o których mowa, zostały już utworzone - powiedzmy na przykład, tworząc / umieszczając / ustawiając określoną flagę w pliku inicjalizacji / ustawień mojego programu na dysku lub coś takiego?
Czy moje podejście ma sens?
sqlite3.OperationalError
, więc musisz przeanalizować komunikat o błędzie, aby upewnić się, że np. Komunikat „Tabela TABLE_NAME już istnieje” podczas tworzenia tabeli, a jeśli nie, popraw błąd i myślę, że nie ma gwarancji, że sformułowanie błędu się nie zmieni.