我是 MySQL 函数的新手。对于以下简单情况,我对“子查询返回超过 1 行”错误感到困惑。
这是我的功能。
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
这是只返回一行的查询结果。
mysql> select last_name from users where username = 'steve';
+-----------+
| last_name |
+-----------+
| Goldstein |
+-----------+
1 row in set (0.00 sec)