用于if记录存在的mySQL用户定义函数
我在mysql中寻找一个简单的用户定义函数,根据是否找到记录返回true或false。我正在努力的是语法 任何能给我指出正确方向的MySQL赌客用于if记录存在的mySQL用户定义函数,mysql,user-defined-functions,Mysql,User Defined Functions,我在mysql中寻找一个简单的用户定义函数,根据是否找到记录返回true或false。我正在努力的是语法 任何能给我指出正确方向的MySQL赌客 delimiter $$ CREATE DEFINER=`root`@`localhost` FUNCTION `doesItExist`(`id` int) RETURNS bool BEGIN declare var_name bool; IF (EXISTS (select 1 into var_name from table_n
delimiter $$
CREATE DEFINER=`root`@`localhost` FUNCTION `doesItExist`(`id` int) RETURNS bool
BEGIN
declare var_name bool;
IF (EXISTS (select 1 into var_name
from table_name
where id = id;))
return var_name;
END$$
不确定拥有这样的功能有什么意义,这应该是可行的:
DROP FUNCTION IF EXISTS `IS_RECORD_EXISTS`;
DELIMITER $$
CREATE FUNCTION `IS_RECORD_EXISTS`(`FIELD_VALUE` INT) RETURNS bool
BEGIN
DECLARE flag bool DEFAULT false;
SELECT EXISTS(
SELECT
*
FROM
`City`
WHERE
`id` = FIELD_VALUE) INTO flag;
RETURN flag;
END$$
不确定拥有这样的功能有什么意义,这应该是可行的:
DROP FUNCTION IF EXISTS `IS_RECORD_EXISTS`;
DELIMITER $$
CREATE FUNCTION `IS_RECORD_EXISTS`(`FIELD_VALUE` INT) RETURNS bool
BEGIN
DECLARE flag bool DEFAULT false;
SELECT EXISTS(
SELECT
*
FROM
`City`
WHERE
`id` = FIELD_VALUE) INTO flag;
RETURN flag;
END$$
其中id=id
?您认为MySQL应该如何理解一个以上的id
是列,另一个是参数?@ypercube右侧的id是指传入的参数…,其中id=id
?您认为MySQL应该如何理解一个以上的id
是列,另一个是参数?@ypercube右手边的id指传入的参数…我正在使用自联接,因此我需要它检查第二个别名表中是否存在字段。例如表1自联接表2,如果存在记录(表2.id)在选择中。希望这能让senseI使用自联接,因此我需要它来检查第二个别名表中是否存在字段。例如,表1自联接表2,select中是否存在记录(表2.id)。希望这有意义