5

我想要一个 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
}
4

2 回答 2

8

MySQLINSERT 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
于 2013-03-04T02:58:18.200 回答
5

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"
}
于 2013-03-04T02:59:51.037 回答