为什么可以将cate_id赋值给goods_cate,这两个字段的数据类型不是不同吗?
为什么可以将cate_id赋值给goods_cate,这两个字段的数据类型不是不同吗?
为什么可以将cate_id赋值给goods_cate,这两个字段的数据类型不是不同吗?
2015-02-14
以下是我个人的理解:
在数据库语言中 单引号 分隔了命令与数据
在你描述的赋值语句中 我们可以想象一个等价语句:
UPDATE tdb_goods SET goods_cate='$id';
上面语句是简化了的更新语句,把多表更新变成了单表更新,单引号中的$id表示任意的一个字符(你暂且这么理解)既然单引号分隔了命令和数据 那么 这行语句中,单引号里的数据类型就应该是goods_cate所承认的数据类型。
那么整个多表更新的过程应该是这样。
cates_id --> '$id'
$id --> good_cates
也就是说 在更新过程中,是先吧cates_id赋值给$id,而$id被放在单引号中被单引号认为(或者说转换)成为goods_cates所承认的数据类型。
注:我也是小白,通过查阅资料理解的,如果我说的不对或者跟实际情况有出入的,也请各位给予一些提醒。如果楼主收到了更准确的答案烦请转告我一声,祝学习愉快。
举报