2012-12-17 12 views
27

Ich habe den Code für Levenshtein Abstand für mysql Formular "http://kritinisnissen.wordpress.com/2010/07/08/mysql-levenshtein/", aber, wie diese Funktion in mysql hinzufügen? Ich benutze Xampp und ich brauche es für die Suche in PHP.Wie levenshtein Funktion in MySQL hinzufügen?

+0

Frühere Frage mit scheinbar den gleichen Code zu fragen, warum es Fehler wirft: http://stackoverflow.com/questions/12617348/mysql-levenshtein –

Antwort

1
  • Einloggen in MySQL-Datenbank über phpmyadmin oder über Terminal.
  • klicken Sie auf Sql.

  • hinzufügen delimiter $$ zu Ihrer die Funktion in der obigen Verbindung und am Ende Delimiter;.

  • einmal, wenn es erfolgreich kompiliert wurde, können Sie es in dieser Datenbank verwenden, wo immer Sie möchten, wie in anderen Prozeduren oder Funktionen oder Abfragen usw. ..!
+0

Ich habe laufen Die Anweisung im SQL-Abschnitt von XAMPP (phpmyadmin), aber ein Fehler ist aufgetreten :: SQL-Abfrage: CREATE FUNCTION levenshtein (s1 VARCHAR (255), s2 VARCHAR (255)) RETURNS INT DETERMINISTIC BEGIN DECLARE s1_len, s2_len, i, j, c , c_temp, Kosten INT; MySQL sagte: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das zu Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von '' in Zeile 5 –

+0

haben Sie verwendet Begrenzer vor ihm ..! und verwenden Definierer auch beim Erstellen der Funktion .. Es ist besser verwenden MySQL Werkbank wie Werkzeuge, um Verfahren wie ... Ich habe es durch MYSQL Werkbank funktioniert es funktioniert gut – Chella

+0

Ich habe den Code auf MySQL Workbench ausgeführt und habe den folgenden Fehler . Ist an meinem Code (oben angegeben) etwas falsch? 12:15:59 \t CREATE FUNCTION levenshtein (s1 VARCHAR (255), s2 VARCHAR (255)) int DETERMINISTIC BEGIN DECLARE- s1_len, s2_len, i, j, c, c_temp, Kosten INT \t Fehlercode: 1064. Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe '' in Zeile 5 entspricht \t 0,000 sec –

8

ich meinen MySQL-Server angeschlossen haben und einfach statement on page you linked in MySQL Workbench ausgeführt, und es einfach gearbeitet - ich habe jetzt neue Funktion levenshtein().

Zum Beispiel funktioniert das wie erwartet:

SELECT levenshtein('abcde', 'abced') 

2 
+0

Ich habe die Anweisung im SQL-Abschnitt von XAMpp (phpmyadmin) ausgeführt, aber ein Fehler aufgetreten :: SQL-Abfrage: CREATE FUNCTION levenshtein ( s1 VARCHAR (255), s2 VARCHAR (255) ) RETURNS s1_len DECLARE- INT DETERMINISTIC BEGIN, s2_len, i, j , c, c_temp, Kosten INT; MySQL sagte: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von "" in Zeile 5 entspricht –

+0

Was ist Ihre Server-Version? Meins ist 5.5.28, aber ich denke, es sollte in 5.1 und höher funktionieren. Können Sie MySQL Workbench installieren (siehe Link oben oder google es) und versuchen, dieses SQL von der Workbench auszuführen? – mvp

+0

Ich habe den Code auf mysql Workbench ausgeführt und den folgenden Fehler erhalten. Ist an meinem Code (oben angegeben) etwas falsch?13 \t 12:15:59 \t ERSTELLEN FUNKTION levenshtein (s1 VARCHAR (255), s2 VARCHAR (255)) RETURNS INT BESTIMMUNG BEGIN DECLARE s1_len, s2_len, i, j, c, c_temp, Kosten INT \t Fehlercode: 1064 Sie haben einen Fehler in Ihrer SQL-Syntax. Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von '' in Zeile 5 entspricht \t 0,000 sec –