繁体   English   中英

MYSQL存储过程中的if语句速记语法

[英]If statement shorthand syntax in MYSQL store procedure

CREATE PROCEDURE `new_procedure`()
BEGIN

    INSERT IGNORE INTO users ( group_id, username, password, email) 
    SELECT status, CONCAT(first_name, last_name), password, email FROM another_user;

END

这是一个示例,我想将状态从another_user直接写入用户的group_id中。

如果还有其他速记语法,还有什么方法可以像Java一样吗? 如果可以的话会是这样的:

SELECT (status==1?4,5), CONCAT(first_name, last_name), password, email FROM another_user;

这是IF函数:

SELECT IF(status = 1, 4, 5), CONCAT(first_name, last_name), password, email
FROM another_user;

您还可以使用标准的SQL CASE表达式:

SELECT CASE status
        WHEN 1 THEN 4
        ELSE 5
       END,
        CONCAT(first_name, last_name), password, email
FROM another_user;

这不是存储过程特有的,它只是SQL表达式的一般功能,您可以在任何地方使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM