mysql数据库插入和更新的两个问题!

小天天天天    数据库    999+ 次    2017-04-11 03:22:31


1   resource(43) of type (mysql result)

执行完sql与语句后  打印变量出现resource(43) of type (mysql result)的错误

这是使用var_dump()方法显示的结果resource(4) of type (mysql result) 是资源类型,不是数组二维数组(开始我也以为是数组)。


 这个返回值是没问题的~
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。

对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。

解决方法 :mysql_fetch_row(),mysql_fetch_array(),  mysql_fetch_assoc()
处理一下就ok.


2.
Duplicate entry '1461118730279255' for key 'version_id'类型错误


UPDATE legou_home_product_details a INNER JOIN legou_home_babyplay_info b ON a.co_product_id = b.product_id
                 SET a.shop_name = b.shop_name,
                a.product_name= b.product_name,     
                a.product_ad =b.business_tips,
                a.introduce = b.business_tips,
                a.version_id = b.version_id,
                a.vip_price = b.sale_price,
                a.market_price = b.sale_price,
                a.app_price = b.sale_price,
                a.mastermap = b.producct_image,
                a.typeid = b.typeid,
                a.type1_id = b.type1_id,
                a.type2_id = b.type2_id            
                ;

执行这段update语句会报错 Duplicate entry '1461118730279255' for key 'version_id' 

(1)原因是 a 表的 version_id字段为 UNIQUE KEY `version_id` (`version_id`) USING BTREE,是由于在拥有unique限制的字段上添加相同的值造成的 ,version_id的值是唯一不可重复的,解决方法是在sql语句加一个where 条件   where shop_id=4070 ,执行成功。

(2)原因是PRIMARY KEY (`product_id`),自增长 AUTO_INCREMENT 

修改自增列,让自增列从导入id最大值后面开始增长,这样就不会提示重复。
修改自增列:ALTER TABLE tbname AUTO_INCREMENT=xxx;】


如果你觉得本篇文章对您有帮助,请打赏作者

上一篇: WEB开发者必备的7个JavaScript函数

下一篇: 正则检验邮箱格式

最新评论

暂无评论

热门文章

最新评论

网站数据

网站文章数:481

今日UV/PV/IP:3/3/3

昨日UV/PV/IP:27/39 /26

TOP