본문 바로가기
MySql

MySQL 오류 코드 1292-잘못된 DOUBLE 값 잘림-MySQL

by 베이스 공부 2021. 1. 5.
반응형

이 오류가 무엇인지 잘 모르겠습니다!

#1292 - Truncated incorrect DOUBLE value: 

이중 값 필드 또는 데이터가 없습니다!

나는 이것을 알아 내기 위해 한 시간을 낭비했다!

여기 내 질문입니다

INSERT INTO call_managment_system.contact_numbers 
    (account_id, contact_number, contact_extension, main_number, created_by)
SELECT
    ac.account_id,
    REPLACE(REPLACE(REPLACE(REPLACE(ta.phone_number, '-', ''), ' ', ''), ')', ''),'(','') AS Phone,
    IFNULL(ta.ext, '') AS extention,
    '1' AS MainNumber,
    '2' AS created_by
FROM 
    cvsnumbers AS ta
    INNER JOIN accounts AS ac ON ac.company_code = ta.company_code
WHERE 
    LENGTH(REPLACE(REPLACE(REPLACE(REPLACE(ta.phone_number, '-', ''), ' ', ''), ')', ''),'(','') ) = 10

여기에 결과가 들어가는 테이블에 대한 내 쇼 생성 테이블이 있습니다.

CREATE TABLE `contact_numbers` (  
    `number_id` int(10) unsigned NOT NULL AUTO_INCREMENT,  
    `account_id` int(10) unsigned NOT NULL DEFAULT '0',  
    `person_id` int(11) NOT NULL DEFAULT '0',  
    `contact_number` char(15) NOT NULL,  
    `contact_extension` char(10) NOT NULL DEFAULT '',  
    `contact_type` enum('Primary','Direct','Cell','Fax','Home','Reception','Office','TollFree') NOT NULL DEFAULT 'Primary',  
    `contact_link` enum('Account','PDM','Other') NOT NULL DEFAULT 'Account',  
    `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 = inactive, 1=active', 
    `main_number` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1 = main phone number',  
    `created_on` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,  
    `created_by` int(11) NOT NULL,  
    `modified_on` datetime DEFAULT NULL,  
    `modified_by` int(11) NOT NULL DEFAULT '0',  
    PRIMARY KEY (`number_id`),  
    KEY `account_id` (`account_id`),  
    KEY `person_id` (`person_id`)
) ENGINE=InnoDB AUTO_INCREMENT=534 DEFAULT CHARSET=utf8

 

해결 방법

 

이 메시지는 WHERE 또는 ON 절에서 숫자와 문자열을 비교하려 함을 의미합니다. 쿼리에서 발생할 수있는 유일한 잠재적 인 위치는 ON ac.company_code = ta.company_code 입니다. 유사한 선언이 있는지 확인하거나 명시적인 CAST 를 사용하여 숫자를 문자열로 변환합니다.

strict 모드를 끄면 오류가 경고로 바뀝니다.

 

참조 페이지 https://stackoverflow.com/questions/16068993

 

 

반응형

댓글