您的位置:首页 > 数据库 > MySQL

mysql建表时指定编码,避免Data too long for column.....的异常

2011-11-05 21:23 441 查看
有时候需要在程序中动态的创建数据库表(如日志表,可以动态的分年分月创建,以保证单张表数据不会太大),如果这是使用的是mysql数据库,需要在创建表的ddl语句末尾加上字符编码如:ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COMMENT='数据采集日志',否则创建出来的表的各字段的编码可能会是latin1,从而在保存有中文字符的数据时会报 Data too long for column....的异常。

完整的创建表语句:

create table GCL_${tableNameSuffix} (

SOURCEID VARCHAR(70) not null,

ID VARCHAR(36),

STATUS VARCHAR(4),

MARK VARCHAR(3000),

DATASETTIME DATETIME,

UPDATETIME DATETIME,

constraint PK_GCL_${tableNameSuffix} primary key (SOURCEID)

)ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COMMENT='数据采集日志'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐