用于if记录存在的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

我在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_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)。希望这有意义