为了账号安全,请及时绑定邮箱和手机立即绑定

小问题之小问题

在输入UPDATE tdb_goods INNNER JOIN  tdb_goods_cates ON  SET goods_cates=cate_id 时,我不记得输入ON了然后   tdb_goods表中的goods_cate 全部变为1了 ,然后不知道怎么做了

正在回答

4 回答

这样改试试

UPDATE tdb_goods INNNER JOIN  tdb_goods_cates ON goods_cates=cate_name  SET goods_cates=cate_id 

0 回复 有任何疑惑可以回复我~
#1

小月肖 提问者

非常感谢!
2016-09-13 回复 有任何疑惑可以回复我~

查手册

0 回复 有任何疑惑可以回复我~

也就是说没了ON这个条件    在表 tdb_goods_cates中cate_id就直接传值给一个临时变量了么?          然后这个临时变量的值与goods_cate所匹配?            然后我还是不理解为什么只有1,1是从哪里来的?

0 回复 有任何疑惑可以回复我~

UPDATE tdb_goods SET goods_cate='$id';

上面语句是简化了的更新语句,把多表更新变成了单表更新,单引号中的$id表示任意的一个字符(你暂且这么理解)既然单引号分隔了命令和数据 那么 这行语句中,单引号里的数据类型就应该是goods_cate所承认的数据类型。

那么整个多表更新的过程应该是这样。

cates_id  -->  '$id'

$id --> good_cates

也就是说 在更新过程中,是先吧cates_id赋值给$id,而$id被放在单引号中被单引号认为(或者说转换)成为goods_cates所承认的数据类型。


0 回复 有任何疑惑可以回复我~
#1

小月肖 提问者

也就是说没了ON这个条件 在表 tdb_goods_cates中cate_id就直接传值给一个临时变量了么? 然后这个临时变量的值与goods_cate所匹配? 然后我还是不理解为什么只有1,1是从哪里来的?
2016-07-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

小问题之小问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信