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
以下是我想直接将另一个用户的状态写入用户的group_id的示例。
有没有像Java一样的方法,如果还有简写语法?如果声明可以这样:
SELECT (status==1?4,5), CONCAT(first_name, last_name), password, email FROM another_user;
答案 0 :(得分:2)
这是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表达式的一般特性,您可以在任何地方使用它。