create方法插入小数返回值错误

#1 筑梦一江秋

使用Model里的create方法插入一条记录很方便,插入成功后返回新增的主键id,失败则返回false。现在情况是这样,我插入一条带有0.01的小数自动,已经插入成功了,可是返回的是false。调试了半天才定位到是这个小数影响的。查看源码看到:QQ图片20140106094745.jpg

mysql在插入小数时,sql语句把0.01这样的小数加入字符串引号数据库会自动转换,但是select的时候,就不行了,所以sp在执行return array_pop( $this->find($row, "{$this->pk} DESC",$this->pk) );就找不到刚刚新插入的记录了。同时说明下,我的mysql数据库没有使用自增长id,使用的GUID,所以插入成功后需要执行下find找到新数据的GUID。
这应该是个问题。create方法插入小数返回值错误

2014-01-06 10:18:41

#2 jake

手册有说明,非自增主键的情况下,create不会返回新增的主键。

2014-01-06 10:36:13

#3 筑梦一江秋

jake 发表于 2014-1-6 10:36
手册有说明,非自增主键的情况下,create不会返回新增的主键。
但是我不插入小数,是可以返回GUID。就是插入小数了,成功了,返回空。其他都正常,就是插入小数有问题,这应该是个问题吧!还有,发帖子为什么要屏蔽缺陷的英文:八格?

2014-01-06 10:58:11

#4 jake

筑梦一江秋 发表于 2014-1-6 10:58
但是我不插入小数,是可以返回GUID。就是插入小数了,成功了,返回空。其他都正常,就是插入小数有问题, ...
好的,记录了。

另外论坛我看了后台,没有屏蔽关键字,只是开了DZ的防水墙,不知道是不是这个问题。

2014-01-06 11:49:46

#5 筑梦一江秋

jake 发表于 2014-1-6 11:49
好的,记录了。

另外论坛我看了后台,没有屏蔽关键字,只是开了DZ的防水墙,不知道是不是这个问题。
谢谢啦!speed非常强大。。。

2014-01-06 13:59:32