Mysql 带if语句的两个查询

Mysql 带if语句的两个查询,mysql,Mysql,我在sql查询中使用了if条件。但在处理部分,我想使用一个类似以下示例的MySQL查询: IF (select ( test= str )like'ZAG,TUN,TOZ,TAT,SOS,SIL,SFX,SBO,RNC,BAR,BEJ,BIZ,BSC,GAB,GAF,JEN,KAI,KAS,KEB,KEF,MAH,MED,MON,NAB')=1 THEN SET co=update incident set test=(select substring(trim(substring_index

我在sql查询中使用了if条件。但在处理部分,我想使用一个类似以下示例的MySQL查询:

IF (select ( test= str )like'ZAG,TUN,TOZ,TAT,SOS,SIL,SFX,SBO,RNC,BAR,BEJ,BIZ,BSC,GAB,GAF,JEN,KAI,KAS,KEB,KEF,MAH,MED,MON,NAB')=1 THEN SET co=update  incident set test=(select substring(trim(substring_index(Test,'sur',-1)),1,3) as n1 ) WHERE  Affected_CI in('other ci','Other CI');
我启动了,但没有结果,这给我带来了一个问题:

'co=更新


谢谢。

如果它不是存储过程或触发器的一部分,您不能像现在这样使用If条件。我将在函数中使用它。您使用的语法肯定不正确。如果您更新问题并添加一些示例数据以及函数应该如何处理这些数据,那么就很容易提供解决方案。我在表“incident”中使用了一列“Title”。此列包含一些信息。在这些信息中,有三个字符表示区域。这三个字符通常位于“on”之后,“:”。我想执行一个函数mysql,它允许:1如果从“Title”列中提取的三个字符(位于“on”之后)是kef、bej或jen,那么结果将存储在同一个表中的“test”列中。2如果未达到第一个字符,则采用位于“:”之后的三个字符,并存储在同一表的“test1”列中。