Mysql存储过程搜索

塞萨尔219

我试图创建一个存储过程,该存储过程将users通过匹配名字和姓氏来搜索表,但是我的仅当我仅按姓氏搜索时才起作用。谁能看到原因

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SearchUserByName`(
IN in_first_name VARCHAR(100),
IN in_last_name VARCHAR(100)
)
BEGIN
SELECT *
FROM `users`
WHERE in_first_name AND in_last_name = first_name AND last_name;
END
不是我

你有一个where子句真是奇怪...

更改为:

WHERE ((in_first_name = '') or (first_name = in_first_name))
AND ((in_last_name = '') or (last_name = in_last_name))

如果您在名字或姓氏处输入空格,则该子句的该部分将被忽略。这使您可以按“先”或“后”或“两者”搜索。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章