我试图创建一个存储过程,该存储过程将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] 删除。
我来说两句