纵有疾风起
人生不言弃

mysql提示Truncated incorrect INTEGER value

在mysql中更新数据时出现了Truncated incorrect INTEGER value错误,但仔细查看语句没什么问题,于时又运行还是有错,然后直接利用phpmyadmin生成一条才发现php用多了直接把习惯放在了mysql中.

在网上都找不到什么解决的方法,但是百度到一个个人博客后找到了解决的方法,报错的sql语句,代码如下:

update xx user set qq_password = ‘xx_id’ & photo = ‘img’ WHERE email = ’emailx’

然后这个是正确的执行语句,代码如下:

update xx user set qq_password = ‘xx_id’,photo = ‘img’ WHERE email = ’emailx’

把&改为,逗号就好了,后来看一老外使用存储过得也碰到这样的问题.

Truncated incorrect INTEGER value:’1|Blondes’

存储过程函数,代码如下:

  1. DELIMITER $$ 
  2.  
  3. DROP FUNCTION IF EXISTS `fnObjectTagGetObjectTags` $$ 
  4. CREATE DEFINER=`root`@`%` FUNCTION `fnObjectTagGetObjectTags`(_objectType int, _objectId bigintRETURNS varchar(2048) CHARSET utf8 
  5. BEGIN 
  6.  
  7.   DECLARE _outObjectTags VARCHAR(2048); 
  8.  
  9.   SET _outObjectTags = 
  10.     ( 
  11.       SELECT (CAST(GROUP_CONCAT(CONCAT(tagId, ‘|’, tagName) separator ‘~’AS CHAR(10000) CHARACTER SET utf8)) AS objectTagList 
  12.       FROM 
  13.       ( 
  14.  
  15.       SELECT tagId, tagName 
  16.         FROM objectTag 
  17.         INNER JOIN tag 
  18.           ON tagId = objectTagTagId 
  19.         WHERE objectTagObjectType = _objectType 
  20.           AND objectTagObjectId = _objectId 
  21.           AND objectTagIsDisabled = 0 
  22.           AND objectTagIsActive = 1 
  23.           AND tagIsDisabled = 0 
  24.           AND tagIsActive = 1 
  25.       ) as subQuery 
  26.     ); 
  27.  
  28.   RETURN _outObjectTags; 
  29.  
  30. END $$ 
  31.  
  32. DELIMITER ; 

使用过程,代码如下:

  1. SELECT fnObjectTagGetObjectTags(3, album.albumId) 
  2. FROM album 
  3. WHERE fnObjectTagGetObjectTags(3, album.albumId) IS NOT NULL 
  4. AND albumIsDisabled = 0 
  5. AND albumIsActive = 1 
  6.  
  7. Try an explicit cast of just the tagId www.phpfensi.com as a character before the concatenation, since you may be mixing binary and non-binary strings. Like 
  8.  
  9. SELECT (CAST(GROUP_CONCAT(CONCAT(CAST(tagId AS CHAR), ‘|’, tagName) separator ‘~’AS CHAR(10000) CHARACTER SET utf8))
未经允许不得转载:起风网 » mysql提示Truncated incorrect INTEGER value
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录