如何编写MySQL if else endif语句?

yjghlzjz  于 2023-03-22  发布在  Mysql
关注(0)|答案(2)|浏览(164)

我想要一个简单的MySQL if,else,endif语句的例子。
我想这样做(在Java中):

SELECT COUNT(*) FROM  `table` WHERE  `userID` =  1

if(count == 0){
  INSERT INTO  `table` (`userID`,`A` ,`B`)VALUES ('1',  '323',  '232')
}
else{
  UPDATE  `table` SET  `A` =  '323', `B` =  '232' WHERE  `userID` =1
}
6rqinv9w

6rqinv9w1#

MySQL有INSERT ON DUPLICATE KEY UPDATE,如果值已经存在,则允许更新,如果不存在,则允许插入。
首先你需要设置一个UNIQUE约束,

ALTER TABLE myTable ADD CONSTRAINT tb_uq UNIQUE (ID)

如果您希望ID是唯一的,那么就可以了。(* 这只是一个示例 *)

INSERT INTO tableName(userID, A, B) 
VALUES (1, 323, 232)
ON DUPLICATE KEY
UPDATE  A = 323,
        B = 232
kxkpmulp

kxkpmulp2#

if语句(在存储块中):

IF search_condition THEN statement_list
    [ELSEIF search_condition THEN statement_list] ...
    [ELSE statement_list]
END IF

或者if函数(内联):

IF(expr1,expr2,expr3)

其工作为:IF(condition,what_to_do_if_true,what_to_do_if_false)最后一部分与'else'相同。if-else-if需要像这样嵌入:

SELECT IF( id==1, "1", IF( ID==2, "2", "Neither" );

这在大多数编程语言中都是一样的:

if( id == 1 ) {
    print "1"
} elsif( id == 2 ) {
    print "2"
} else {
    print "Neither"
}

相关问题