MySQL建表报错!Row size too large!
Hibernate在MySQL自动建表时报了以下错误~
ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate - Unsuccessful: create table Advert (id bigint not null auto_increment, space varchar(255), administrators varchar(4000), readers varchar(4000), editors varchar(4000), creator varchar(255), salesman varchar(255), spaceSize varchar(255), advertType varchar(255), createDate varchar(255), contactName varchar(255), receivableDate varchar(255), money varchar(255), publishTime varchar(255), advertName varchar(255), salesmanId varchar(255), newsSerialNumber varchar(255), advertDate varchar(255), draftDate varchar(255), spaceEdit varchar(255), newsAdd varchar(255), drafter varchar(255), advertContent varchar(1300), remack varchar(4000), contract_id bigint, customer_id bigint, primary key (id))
ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
自己算了一下,这张表怎么都还没到65535啊~
后来上网找了一下,发现UTF-8编码的,一个字符当3个算~郁闷~
然后自己算了一下,确实超过了,然后减少了其中一个varchar,表就建起来了~
再后来上官网看到好像是InnoDB限制了,但它又没说怎么去改(最主要是我不知道InnoDB是什么……)!
所以想请教一下大家,是否有办法改一下什么配置能让它把表建起来~谢谢~