2012-12-17 12 views
27

Mam kod odległości levenshtein dla formularza mysql "http://kristiannissen.wordpress.com/2010/07/08/mysql-levenshtein/", ale jak dodać tę funkcję w mysql? Używam xampp i potrzebuję go do wyszukiwania w php.Jak dodać funkcję levenshtein w mysql?

+0

Wcześniej pytanie z pozornie ten sam kod pytając dlaczego wyrzuca błędy: http://stackoverflow.com/questions/12617348/mysql-levenshtein –

Odpowiedz

1
  • Zaloguj się do bazy danych mysql poprzez phpmyadmin lub przez terminal.
  • click sql.

  • dodaj delimiter $$ do funkcji w powyższym łączu i na końcu separatora ;.

  • raz, jeśli zostało skompilowane, możesz użyć go w tej bazie danych, gdzie chcesz, wewnątrz innych procedur, funkcji lub zapytań itp ..!
+0

Mam biegać instrukcja w sekcji sql xampp (phpmyadmin), ale wystąpił błąd :: zapytanie SQL: CREATE FUNCTION levenshtein (s1 VARCHAR (255), s2 VARCHAR (255)) POWRÓT INT DETERMINISTYCZNY POCZĄTEK DECLARE s1_len, s2_len, i, j, c , c_temp, cost INT; MySQL powiedział: # 1064 - Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu '' w linii 5 –

+0

czy użyłeś przed sobą ogranicznika ..! i używaj definiującego także podczas tworzenia funkcji. Lepiej użyj workbencha MySQL, jak narzędzia do pracy nad procedurami takimi jak ... Wykonałem to poprzez Workbench MYsql działa dobrze – Chella

+0

Uruchomiłem kod na mysql workbench i otrzymałem następujący błąd . Czy jest jakiś błąd w moim kodzie (podanym powyżej)? 12:15:59 \t TWORZENIE Levenshteina VARCHAR funkcyjnych (S1 (255), S2 Varchar (255)) Zwraca int deterministycznych BEGIN DECLARE s1_len, s2_len, I, J, c, c_temp, koszt INT \t Kod błędu: 1064. Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu '' w linii 5 \t 0.000 s –

8

mam podłączony do serwera MySQL i po prostu realizowane statement on page you linked w MySQL Workbench, i to po prostu działa - Mam teraz nową funkcję levenshtein().

Na przykład, to działa zgodnie z oczekiwaniami:

SELECT levenshtein('abcde', 'abced') 

2 
+0

Uruchomiłem instrukcję w sekcji sql xampp (phpmyadmin), ale wystąpił błąd :: zapytanie SQL: funkcji Create Levenshteina ( S1 Varchar (255) S2 Varchar (255) ) Zwraca int deterministyczne UŻYCIEM DECLARE s1_len, s2_len, I j C c_temp, koszt INT; MySQL powiedział: # 1064 - Masz błąd w swojej składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu '' w linii 5 –

+0

Jaka jest twoja wersja serwera? Mój jest 5.5.28, ale myślę, że powinien działać w 5.1 i później. Czy możesz zainstalować MySQL Workbench (patrz link powyżej lub google it) i spróbować uruchomić ten SQL ze środowiska roboczego? – mvp

+0

Uruchomiłem kod w mysql workbench i otrzymałem następujący błąd. Czy jest jakiś błąd w moim kodzie (podanym powyżej)?0 12:15:59 \t TWORZENIE Levenshteina VARCHAR funkcyjnych (S1 (255), S2 Varchar (255)) zwraca INT deterministyczne BEGIN DEKLARUJĄ s1_len, s2_len, I, J, c c_temp, linie przerwania kodu \t błędu: 1064 Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL dla właściwej składni do użycia w pobliżu '' w linii 5 \t 0.000 s –

Powiązane problemy