快速提问。我目前正在使用 INSERT...SELECT 语句来检查用户在成为教练之前是否拥有基本会员帐户。此代码工作正常:
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;
如您所见,如果他们已经存在,我目前只是用相同的数据更新他们的帐户。我现在要做的是,如果用户是会员并且已经成为教练,则显示一条消息,通知他们他们已经注册为教练。
所以我的问题是,我是否将其包装在 IF...ELSE 语句中,或者我是否使用 IF EXISTS 语句,例如如果不存在则插入,否则只需在 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但不确定我将如何实现它。任何关于从这里去哪里的说明将不胜感激。