MySQL 関数は初めてです。以下の単純なケースで、「サブクエリが複数の行を返します」というエラーに困惑しています。
これが私の機能です。
mysql> create function UserLNFromUsername (username VARCHAR(20))
RETURNS VARCHAR(30)
return (select last_name from users where username = 'steve' );
Query OK, 0 rows affected (0.00 sec)
これは私が遭遇するエラーです。
mysql> select UserLNFromUsername('steve');
ERROR 1242 (21000): Subquery returns more than 1 row
これは、1 行のみを返すクエリの結果です。
mysql> select last_name from users where username = 'steve';
+-----------+
| last_name |
+-----------+
| Goldstein |
+-----------+
1 row in set (0.00 sec)