Jak mogę sprawdzić składnię SQL w pliku .sql?Jak mogę sprawdzić składnię SQL w pliku .sql?
Odpowiedz
Można go wkleić do przeglądarki zapytań, takiej jak Przeglądarka zapytań MySQL (część pakietu narzędzi GUI) i wizualnie sprawdzić, jak słowa kluczowe i literały łańcuchowe są kolorowe, aby łatwiej było zobaczyć, czy popełniono błędy składniowe.
wystarczy go uruchomić ....
rozpocząć transakcję
uruchomić go
wycofywania
uruchomienie go da odpowiedź, ale czy jest coś, co pokazuje mi błędy składni w tym pliku .... – maxjackie
możesz mieć prawidłową składnię i nadal mieć błędy runtime –
Nie można wycofać, jeśli tabele są MyISAM, lub jeśli skrypt wykonuje instrukcje niejawne-commit (np. DDL) lub jeśli skrypt zawiera instrukcje COMMIT. –
Istnieje kilka produktów za darmo/try-ware, które obecnie nie pozwolisz połączyć się z bazą danych MySQL lub po prostu wkleić skrypt do sprawdzenia poprawności. Google jest tu twoim przyjacielem. Mimer will check ANSI-Standard syntax validation, ale prawdopodobnie nie obsługuje żadnych szczegółów MySQL.
Istnieje kilka możliwości. Jeśli używasz tabel InnoDB obsługujących transakcje, możesz po prostu wykonać na początku pliku .sql i rollback;
koniec. MySQL wyświetli błędy składniowe.
Jeśli testiing UPDATE
lub DELETE
wypowiedzi, można dodać LIMIT 0
do końca, aby uniknąć tych zapytań od dokonywania jakichkolwiek zmian w bazie danych, i jeszcze MySQL sprawdzić składnię.
Skrypt może zawierać instrukcje, które i tak powodują niejawne zatwierdzenie. –
To prawda, że niektóre założenia dotyczące zawartości pliku .sql. –
Podstawowy lekser wydaje się być zaimplementowany w sql/sql_lex.cc. Możesz użyć/uratować to, aby zbudować własny testowy parser. Ale to tylko sprawdziłoby składnię, ale nie błędów w czasie wykonywania.
Ten rodzaj programowego rozwiązania może być przydatny na przykład do sprawdzenia, czy wynik mysqldump jest co najmniej syntaktycznie kompletny. – ClearCrescendo
TLDR:
>awk '{print "EXPLAIN " $0}' statements.sql | mysql --force -u user -p database | grep "ERROR"
dziwne, mysql nie posiada wbudowany przełącznik do tego, ale można sprawdzić składnię dodając oświadczenie EXPLAIN
przed twoje pytania.
Jeśli masz plik statements.sql
z każdym oświadczeniu na jednej linii, prepend EXPLAIN
przed wszystkimi liniami z:
>awk '{print "EXPLAIN " $0}' statements.sql > check.sql
Następnie można uruchomić sprawozdania z narzędzia mysql
wiersza polecenia i używać --force
do niech błąd będzie kontynuowany. Wypisze komunikat o błędzie w przypadku jakichkolwiek instrukcji o niepoprawnej składni.
>mysql --force -u user -p database < check.sql
Albo tylko zobaczyć linie z błędami:
>mysql --force -u user -p database < check.sql | grep "ERROR"
Można to wszystko zrobić w jednym wierszu bez tworzenia pliku pośrednimi:
>awk '{print "EXPLAIN " $0}' statements.sql | mysql --force -u user -p database | grep "ERROR"
Dodałbym to, aby plik nie musiał być pojedynczą linią. 'awk '{if (sub (/; $ /;;; \ n")) printf "EXPLAIN% s", 0 USD; else wydrukuj $ 0} 'commands.sql' Połącz linie kończące się średnikiem. – Jon49
- 1. Czy istnieje komponent Swing zawierający składnię SQL?
- 2. Jak dołączyć plik sql do pliku sql? MS SQL
- 3. Jak sprawdzić logi kompilatora w deweloper sql?
- 4. Jak mogę sprawdzić, czy istnieje ograniczenie SQL Server?
- 5. oracle SQL oraz jak zakończyć polecenie w pliku SQL?
- 6. Czy są jakieś walidatory SQL, które mogą sprawdzić składnię na wielu serwerach baz danych?
- 7. Visual Studio uważa poprawną składnię SQL za niepoprawną
- 8. Jak sprawdzić składnię plików konfiguracyjnych PostgreSQL?
- 9. Tłumaczenie połączeń SQL na klucze obce na składnię R data.table
- 10. Czy można sprawdzić składnię pliku PHP z PHP?
- 11. Jak mogę odjąć poprzedni wiersz w sql?
- 12. Jak mogę zamienić WZORZEC w SQL?
- 13. konwersja pliku - .mwb do .sql
- 14. Jak sprawdzić, czy zmienna tabeli jest pusta w SQL Server?
- 15. Jak sprawdzić, czy baza danych istnieje w SQL Server?
- 16. W PHP z PDO, jak sprawdzić ostateczne zapytanie parametryczne SQL?
- 17. SQL jak sprawdzić prefiks w celi z dwóch prefiksów
- 18. Jak zmniejszyć rozmiar pliku dziennika serwera sql?
- 19. Jak uzyskać składnię "should.be.false" jslint?
- 20. jak zebrać wynik iskry sql do pliku?
- 21. Jak mogę zarządzać bazami danych SQL CE w SQL Server Management Studio?
- 22. Jak używać SQL do pliku CSV
- 23. Jak odczytać zawartość pliku do zmiennej SQL
- 24. Jak mogę obejrzeć przygotowane oświadczenie PDO SQL
- 25. Jak mogę zobaczyć nieprzetworzone zapytania SQL Django?
- 26. Dump pliku sql do ClearDB w Heroku
- 27. Numer wersji pliku serwera SQL: gdzie mogę znaleźć odniesienie?
- 28. Jak sprawdzić dostrojenie wydajności SQL Server dla procedur składowanych
- 29. jak działa zapytanie SQL?
- 30. Jak mogę sprawdzić, czy kolumna istnieje w tabeli przy użyciu instrukcji SQL?
To wymaga dużo wyjaśnień być użytecznym (i pozostać otwartym). Czy pytasz o wskazówki dotyczące wizualnej kontroli SQL?Szukasz skryptu, który pomoże ci sprawdzić składnię? Czy uruchamiasz skrypt i potrzebujesz pomocy w zrozumieniu konkretnego błędu? –
Myślę, że chcą sprawdzić, czy plik ma poprawną składnię mySql. –
wizualne sprawdzenie pliku SQL lub skryptu również sprawdzi składnię: – maxjackie