用update更新表字段出现了问题

riched 2010-05-16 11:48:57
使用update在对mysql数据表进行数据更新的时候,出了问题
我的语句sql语句是
sql="update users set user_name="+name+"where user_id="+id+"";

name和id都是String 类型的变量

程序报异常如下:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 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 'user_id=33' at line 1

看不懂这句话,请大家帮帮忙
...全文
199 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoojo 2010-05-17
  • 打赏
  • 举报
回复

在控制台输出来看看,然后在数据库执行下就知道错误在哪里了。
sql="update users set user_name = '"+name+"' where user_id = '"+id+"'";
Un_kevin 2010-05-17
  • 打赏
  • 举报
回复
缺少单引号吧 !
z2008g 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kaynezhang 的回复:]

sql="update users set user_name="+name+"where user_id="+id+"";


user_name和user_id都是字符串吧?至少user_name是字符串吧?而且你where之前还没有空格。

sql="update users set user_name='"+name+"' where user_id='"+id+"'";

……
[/Quote]
+1
-船长- 2010-05-17
  • 打赏
  • 举报
回复
String name="张三";
String id="zhangsan001";
String sql="update users set user_name="+name+"where user_id="+id+"";
System.out.println(sql);

打印结果为:
update users set user_name=张三where user_id=zhangsan001
很明显:
sql语句这样写才对
String sql="update users set user_name="'+name+"' where user_id='"+id+"'";

Mars_Ma_OK 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fairy_dy 的回复:]
改成这样: sql="update users set user_name='"+name+"' where user_id='"+id+"'";
[/Quote]

up!
Mars_Ma_OK 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kaynezhang 的回复:]
sql="update users set user_name="+name+"where user_id="+id+"";


user_name和user_id都是字符串吧?至少user_name是字符串吧?而且你where之前还没有空格。

sql="update users set user_name='"+name+"' where user_id='"+id+"'";
[/Quote]

是少了单引号了哦..楼上正解!
xuwuzhang2010 2010-05-17
  • 打赏
  • 举报
回复
sql="update users set user_name="+name+"where user_id="+id+"";

where 之前加个空格... 忒明显了
Fairy_dy 2010-05-17
  • 打赏
  • 举报
回复
改成这样: sql="update users set user_name='"+name+"' where user_id='"+id+"'";
jinghua_zhou 2010-05-17
  • 打赏
  • 举报
回复
缺少 单引号,空格 up up up
journeydj 2010-05-17
  • 打赏
  • 举报
回复
单引号加的有问题
'user_id=33'
chenbo25811314 2010-05-17
  • 打赏
  • 举报
回复
字符串拼接的问题
CJW521 2010-05-17
  • 打赏
  • 举报
回复
恩 同一楼上
riched 2010-05-17
  • 打赏
  • 举报
回复
恩,是的,加上单引号就可以了,始终没搞明白单引号和双引号的区别?
jinyizedbx 2010-05-16
  • 打赏
  • 举报
回复
你这sql语句有问题,你最好System.out.println()打印一下
看着的话应该是username="+username少空格,而且username应该是String类型吧?sql语句里得用单引号引吧,后面id也没有空格,在最后你加一空串干啥啊?
kaynezhang 2010-05-16
  • 打赏
  • 举报
回复
sql="update users set user_name="+name+"where user_id="+id+"";


user_name和user_id都是字符串吧?至少user_name是字符串吧?而且你where之前还没有空格。

sql="update users set user_name='"+name+"' where user_id='"+id+"'";

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧