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

         有时候需要在程序中动态的创建数据库表(如日志表,可以动态的分年分月创建,以保证单张表数据不会太大),如果这是使用的是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='数据采集日志'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值