首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if else mysql语法

if else mysql语法
EN

Stack Overflow用户
提问于 2014-06-21 02:36:01
回答 3查看 53关注 0票数 0

有人能在这个语法上帮我吗?我不知道我做错了什么!

当我尝试执行这段代码时:

代码语言:javascript
复制
IF EXISTS(SELECT * FROM user WHERE user_username = '$user_username') 
THEN
UPDATE user SET user_name='$name',user_profession='$profession',user_address='$address',user_avatar='$NewImageName'
ELSE 
INSERT INTO user (user_name,user_profession,user_address,user_avatar) VALUES ('$name','$profession','$address','$NewImageName';

我得到以下错误:

代码语言:javascript
复制
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT * FROM user WHERE user_username = '111') THEN UPDATE user SE' at line 1

我不知道这段代码出了什么问题!

EN

回答 3

Stack Overflow用户

发布于 2014-06-21 02:39:54

您是否尝试过在INSERT INTO...语句后添加END IF

票数 1
EN

Stack Overflow用户

发布于 2014-06-21 02:41:08

您需要ON DUPLICATE KEY

代码语言:javascript
复制
INSERT INTO user (user_name,user_profession,user_address,user_avatar)
VALUES ('$name','$profession','$address','$NewImageName'
   ON DUPLICATE KEY
UPDATE user SET user_name='$name',
                user_profession='$profession',
                user_address='$address',
                user_avatar='$NewImageName'

必须将列user_name设置为UNIQUE

如果它不是唯一的,请执行以下操作

代码语言:javascript
复制
ALTER IGNORE TABLE user ADD UNIQUE (user_name);
票数 0
EN

Stack Overflow用户

发布于 2014-06-21 10:50:40

下面这段代码帮我解决了这个问题:

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM user WHERE user_username = '$user_username'");
if( mysql_num_rows($result) > 0) {
    mysql_query("UPDATE user SET user_name='$name',user_profession='$profession',user_address='$address',user_avatar='$NewImageName' WHERE user_username = '$user_username'");
}
else
{
    mysql_query("INSERT INTO user (user_name,user_profession,user_address,user_avatar) VALUES ('$name','$profession','$address','$NewImageName') WHERE user_username = '$user_username'");
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24333627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档