在mysql中更新數(shù)據(jù)時出現(xiàn)了Truncated incorrect INTEGER value錯誤,但仔細(xì)查看語句沒什么問題,于時又運行還是有錯,然后直接利用phpmyadmin生成一條才發(fā)現(xiàn)php用多了直接把習(xí)慣放在了mysql中.
在網(wǎng)上都找不到什么解決的方法,但是百度到一個個人博客后找到了解決的方法,報錯的sql語句,代碼如下:
update xx user set qq_password = 'xx_id' & photo = 'img' WHERE email = 'emailx'
然后這個是正確的執(zhí)行語句,代碼如下:
update xx user set qq_password = 'xx_id',photo = 'img' WHERE email = 'emailx'
把&改為,逗號就好了,后來看一老外使用存儲過得也碰到這樣的問題.
Truncated incorrect INTEGER value:'1|Blondes'
存儲過程函數(shù),代碼如下:
- 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 m.survivalescaperooms.com 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))
新聞熱點
疑難解答
圖片精選