Dosłowne wzorce SQL LIKE
Zabezpiecz dosłowny wzorzec SQL LIKE wykrzyknikiem jako znakiem ucieczki.
def like_literal(text):
if type(text) is not str or "\x00" in text:
raise ValueError("like.text")
return text.replace("!", "!!").replace("%", "!%").replace("_", "!_")
SQL = "SELECT value FROM items WHERE value LIKE ? ESCAPE '!'"- Modele
- Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
- Projekt
- Sprawdź procenty, podkreślenia, wykrzykniki i pusty tekst z parametrem wiązanym, odrzucając NUL bez dodawania symboli wieloznacznych ani obietnic rozróżniania wielkości liter.
- Sprawdź przed zastosowaniem
- Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
def like_literal(text):
if type(text) is not str or "\x00" in text:
raise ValueError("like.text")
return text.replace("!", "!!").replace("%", "!%").replace("_", "!_")
SQL = "SELECT value FROM items WHERE value LIKE ? ESCAPE '!'"Niech pole wyszukiwania oznacza to, co wpisują użytkownicy
Osoba wpisująca znaki interpunkcyjne w pole wyszukiwania może oczekiwać ich dosłownego wyszukania. Zapytanie do bazy danych może interpretować je inaczej. LikeSail to środowisko programistyczne AI dla Windows, w którym możesz zbadać tę rozbieżność w aplikacji, od pola wejściowego po wywołanie zapytania. Opisz zamierzone zachowanie wyszukiwania i poproś o sprawdzenie kodu, który je buduje i wykonuje.
Przykład SQL LIKE przedstawia konkretne zadanie dotyczące znaków procentu, podkreśleń i znaku ucieczki. Możesz poprosić asystenta o sprawdzenie, jak tekst dosłowny staje się wartością parametru zapytania i jak zapytanie deklaruje konwencję znaków ucieczki. Sprawdź kod wywołujący oraz funkcję pomocniczą, a potem przetestuj rzeczywiste wyniki bazy danych. Oddziel wymagania dopasowania dosłownego od szerszych kwestii bezpieczeństwa zapytań i dozwolonej składni wyszukiwania.
Aby skorzystać z opcji modeli AI typu abliterated, wybierz dostępny model przez obsługiwany punkt końcowy zgodny z OpenAI lub punkt końcowy Anthropic i podaj wymagane dane uwierzytelniające. Model, serwer i dostawca punktu końcowego określają kontekst, narzędzia i ograniczenia. Przejrzyj proponowane zmiany przed uruchomieniem kontroli bazy danych projektu. Jeśli używasz lokalnego serwera modelu, inne podłączone narzędzia i połączenie z bazą danych nadal mogą korzystać z własnych zewnętrznych miejsc docelowych.
Określanie kontraktu wyszukiwania
- Czy procent i podkreślenie zawsze należy traktować dosłownie?
To zależy od zamierzonego interfejsu wyszukiwania. Określ, czy można wpisywać wyrażenia z symbolami wieloznacznymi, czy tylko zwykły tekst. Sprawdź budowanie zapytania względem tej decyzji i przetestuj interpunkcję, zamiast zakładać, że wyświetlony tekst zachowuje swoje znaczenie.
- Czy stosowanie znaków ucieczki w LIKE zastępuje parametry zapytania?
Nie. Obsługa wzorca dosłownego i wiązanie wartości parametrów rozwiązują różne problemy. Sprawdź, jak wynik funkcji pomocniczej trafia do wywołania bazy danych, i zachowaj zamierzoną parametryzację. Sam mały przykład stosowania znaków ucieczki nie dowodzi ogólnego bezpieczeństwa zapytań.
- Jakie przykłady bazy danych dołączyć do zmiany?
Uwzględnij wiersze zawierające symbole wieloznaczne, znak ucieczki i zwykły tekst, podając oczekiwane dopasowania każdego wyszukiwania. Wykonaj je w konfiguracji bazy danych projektu, aby zapytanie i funkcja pomocnicza były testowane razem według tej samej konwencji.
- Czy LikeSail zmienia za mnie ustawienia wyszukiwania w bazie danych?
Nie zakłada się automatycznej zmiany konfiguracji. Poproś o sprawdzenie istniejącego zapytania i zachowania połączenia, a następnie przejrzyj proponowane zmiany kodu lub konfiguracji. Rzeczywista baza danych projektu pozostaje miejscem weryfikacji uzyskanej semantyki wyszukiwania.
LikeSail · Zaktualizowano 2026-10-25