gpt4 book ai didi

MySQL IF...ELSE 或 IF EXISTS 语句

转载 作者:行者123 更新时间:2023-11-29 00:32:27 24 4
gpt4 key购买 nike

快速提问。我目前正在使用 INSERT...SELECT 语句来检查用户在成为教练之前是否拥有基本成员(member)帐户。此代码工作正常:

INSERT into coaches (U_Name, P_word, M_ID)
SELECT members.U_Name,members.P_word,members.M_ID FROM members
WHERE members.U_Name="bob1" AND members.P_word="123"
ON DUPLICATE KEY UPDATE U_Name = members.U_Name, P_word = members.P_word;


如您所见,如果他们已经存在,我目前只是用相同的数据更新他们的帐户。我现在想做的是,如果用户是成员(member)并且已经成为教练,则显示一条消息,通知他们他们已经注册为教练。
所以我的问题是,我是将其包装在 IF...ELSE 语句中还是使用 IF EXISTS 语句,例如 insert if not exists else just select in mysql
按照以下思路思考:

IF EXISTS(SELECT coaches.U_Name,coaches.P_word,coaches.M_ID FROM coaches 
WHERE coaches.U_Name="bob1" AND coaches.P_word="123")
ELSE
BEGIN
INSERT into coaches (U_Name, P_word, M_ID)
SELECT members.U_Name,members.P_word,members.M_ID FROM members
WHERE members.U_Name="bob1" AND members.P_word="123"
END;

在这里也看过这个例子:MySql IF exists select ELSE insert但不确定我将如何实现它。任何关于从这里去哪里的指示将不胜感激。

最佳答案

INSERT ... ON DUPLICATE KEY UPDATE 语法可以帮助您解决问题。它从 mySQL 5.0 开始可用

引用:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

关于MySQL IF...ELSE 或 IF EXISTS 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15915640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com