In MySQL-Datenbank habe ich eine Tabelle namens 'usertest', die einige Benutzerinformationen gespeichert hat. Und ich erstelle eine UDF namens 'getId' erfolgreich. Dies ist, wie es erstellt:Aufruf einer gespeicherten Funktion in mysql, aber ein Fehler: Unterabfrage gibt mehr als 1 Zeile zurück
create function getId(name varchar(255))
returns int
begin
declare id_found int;
set id_found=(select Id from usertest where Name=name);
return id_found;
end
Es sollte OK.However sein, wenn ich
select getId('mike');
mysql-Engine einen Fehler meldet rufen:
Subquery returns more than 1 row.
Aber in Tabelle
usertest Ich habe nur eine Zeile, wo Name = "mike". Das ist verdrahtet. Jemand kann mir sagen, warum? Vielen Dank im Voraus :)
Dies funktioniert für mich! Und danke dir! :) –
@ 吴 环宇 Akzeptieren Sie bitte mit dem grünen Häkchen: p (es ist rechts unter den Pfeilen nach unten) ... das grüne Ding auf der [Tour] (http://stackoverflow.com/tour) Seite – Drew
Und danke Barmar für eine nachdenkliche Antwort. – Drew