4,556,918 th visitor since 2017.2.1 ( Today : 1665 )
Programming
No. 631
Name. swindler
Subject. Data Too Long
Main Cate. MySQL
Sub Cate.
Date. 2009-05-29 15:35
Hit. 5236 (211.36.27.8)
File.
mysql 5.0.2 부터는
auto_truncate를 하지 않고 error 를 발생시킨다.

따라서 column filed보다 데이터가 긴 경우에
data too long 과 같은 에러가 발생한다.

아래 2가지 명령어로 현재 모드를 알아낼수 있으며,

SELECT @@global.sql_mode;
SELECT @@session.sql_mode;


SET GLOBAL sql_mode='STRICT_TRANS_TABLES' 와 같이 실행하면,
런타임시에 모드 지정이 가능하면,

my.cnf 설정파일을 아래와 같이 수정하면 항상 적용시킬수 있다.


[mysqld]
sql-mode = STRICT_TRANS_TABLES



STRICT_TRANS_TABLES
만약에 값을 지정한 형태로 트랜젝션 테이블에 삽입할 수가 없다면, 명령문을 중단한다. 논-트랜젝션 (non-transactional) 테이블에 대해서는, 그 값이 단일-열 명령문 또는 다중-열 명령문의 맨 처음 열에 나오게 되면 명령문을 중단한다. (MySQL 5.0.2)



[바로가기 링크] : http://coolx.net/cboard/develop/631



swindler STRICT_TRANS_TABLES 옵션이 없어야 에러나지 않고 삽입이 된다. 2009-05-29
Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog