mysql更新数据提醒Truncated incorrect INTEGER value: 错误

在网上都找不到什么解决的方法。但是百度到一个个人博客后找到了解决的方法

报错的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'

存储过程函数

 代码如下 复制代码

DELIMITER $$

DROP FUNCTION IF EXISTS `fnObjectTagGetObjectTags` $$
CREATE DEFINER=`root`@`%` FUNCTION `fnObjectTagGetObjectTags`(_objectType int, _objectId bigint) RETURNS varchar(2048) CHARSET utf8
BEGIN

  DECLARE _outObjectTags VARCHAR(2048);

  SET _outObjectTags =
    (
      SELECT (CAST(GROUP_CONCAT(CONCAT(tagId, '|', tagName) separator '~') AS CHAR(10000) CHARACTER SET utf8)) AS objectTagList
      FROM
      (

      SELECT tagId, tagName
        FROM objectTag
        INNER JOIN tag
          ON tagId = objectTagTagId
        WHERE objectTagObjectType = _objectType
          AND objectTagObjectId = _objectId
          AND objectTagIsDisabled = 0
          AND objectTagIsActive = 1
          AND tagIsDisabled = 0
          AND tagIsActive = 1
      ) as subQuery
    );

  RETURN _outObjectTags;

END $$

DELIMITER ;

使用过程

 代码如下 复制代码

SELECT fnObjectTagGetObjectTags(3, album.albumId)
FROM album
WHERE fnObjectTagGetObjectTags(3, album.albumId) IS NOT NULL
AND albumIsDisabled = 0
AND albumIsActive = 1

Try an explicit cast of just the tagId www.111cn.net as a character before the concatenation, since you may be mixing binary and non-binary strings. Like

 代码如下 复制代码

SELECT (CAST(GROUP_CONCAT(CONCAT(CAST(tagId AS CHAR), '|', tagName) separator '~') AS CHAR(10000) CHARACTER SET utf8))

时间: 2024-08-07 17:09:03

mysql更新数据提醒Truncated incorrect INTEGER value: 错误的相关文章

mysql保存数据提示1366 Incorrect string value: ‘\xF0\x9F\x98\x8A\xF0\x9F…’ 解决

比较简便的方式是Solution 1,使用php的mb_系列函数可以搞定(iconv 搞不定): $str= mb_convert_encoding ( $str, 'UTF-8′ );  

Mysql错误1366 - Incorrect integer value怎么解决?

  这篇文章主要介绍了Mysql错误1366 - Incorrect integer value解决方法,本文通过修改字段默认值解决,需要的朋友可以参考下 由于这个数据库服务器存放的数据库比较多且都是小数据库,所以最初的时候是运行在windows服务器上的.前一段时间由于机房服务器要做调整,于是我便在一个夜深人静的夜晚对数据库进行的迁移及前台应用程序进行了调整,调整结束后测试应用均可以正常访问后我便离去了. 周一刚上班就收到反馈:网站后台发布文章报如下错误: 代码如下: insert into

Mysql错误1366 - Incorrect integer value解决方法_Mysql

由于这个数据库服务器存放的数据库比较多且都是小数据库,所以最初的时候是运行在windows服务器上的.前一段时间由于机房服务器要做调整,于是我便在一个夜深人静的夜晚对数据库进行的迁移及前台应用程序进行了调整,调整结束后测试应用均可以正常访问后我便离去了. 周一刚上班就收到反馈:网站后台发布文章报如下错误: 复制代码 代码如下: insert into doc_main (title,typeid,uptime,intro,ifhot,imgurl1,doctype,fileurl1,shunxu

ORACLE导出文本到MYSQL 报错 Incorrect integer value: ''

今天从ORACLE导出数据文本格式的到MYSQL 5.6 发现 load data infile Incorrect date value '' 这种报错,从5.6开始在严格模式下插入数据如果是数字和日期 mysql> insert into testnull1 values('','test',''); ERROR 1366 (HY000): Incorrect integer value: '' for column 'id' at row 1 mysql> insert into tes

php 解决MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误

在项目中向MySQL插入数据时,发现数据插入不完整,通过调试,发现插入语句也没什么特殊的错误.但是就是差不进去,于是就打开mysqli错误的调试 $ret = mysqli_query($this->conn, $sql) or die(mysqli_error($this->conn)); 结果弹出如下错误信息: Incorrect string value: '\xF0\x9F\x92\x8BTi...' 有错误信息就好办了,结果上网一查结果是:mysql编码格式utf-8格式,不支持带四

mysql的数据修改后实时更新到elasticsearch的问题

问题描述 mysql的数据修改后实时更新到elasticsearch的问题 最近在研究elasticsearch,mysql中新增和修改的数据已经能够自动的同步到elasticsearch中了,但是删除的数据无法自动的从elasticsearch中删除,请问各位大神改怎么做才行? 解决方案 我们放弃使用river基于canal(mysql增量订阅组件)开发同步服务,几乎达到实时同步哦

MySQL入门插入、删除和更新数据sql语句

insert 语句的定义: insert 语句一次插入一条数据 insert into links(name,address) values('jerichen','gdsz'); insert 语句一次插入多条数据: 1,字段值2,字段值3),(另一个字段1的值,另一个字段2的值,另一个字段3的值); # 同时插入两条数据,看语法说明,那个into被我省略了 insert links (name,url) values('jerichen','gdsz'),('alone','gdgz');

MySQL删除/更新数据时报1175错误

原文 MySQL删除/更新数据时报1175错误 今天删除mysql数据库中的一条记录的时候,一直不能删除,提示错误信息如下: [html] view plaincopy Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that    [html] view plaincopy uses a KEY column To disable safe mode

MySQL 随机查询数据与随机更新数据实现代码_Mysql

MySQL随机查询数据 以前在群里讨论过这个问题,比较的有意思.MySQLl的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了. 复制代码 代码如下: SELECT * FROM table_name ORDER BY rand() LIMIT 5; MySQL的rand()函数在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值.如果一个整数参数N被指定,它被用作种子值. 关于MySQL