Mysql创建表默认使用了 latin1_swedish_ci 编码格式,导致当插入中文字符时,报以下错误:
java.sql.SQLException: Incorrect string value: '\xE8\xBE\xBE\xE6\xA0\x87' for column 'remark' at row 1
需要将表或字段的编码格式改为UFT8:
表:
alter table your_table_name convert to character set utf8;
字段:
alter table your_table_name change name your_table_field varchar(255) character set utf-8;
使用 show table status; 可以查看到当前数据库中各表的状况,包括:
- Name
- Engine
- Version
- Row_format
- Rows (表中数据总数)
- Avg_row_length
- Data_length
- Max_data_length
- Index_length
- Data_free
- Auto_increment (自增键到达的大小)
- Create_time
- Update_time
- Check_time
- Collation (编码格式)
- Checksum
- Create_options
- Comment
使用 show create table your_table_name; 可以查看到表的状况,大致如下:
| your_table_name| CREATE TABLE `your_table_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL COMMENT '名称',
`customer` varchar(50) DEFAULT NULL COMMENT '客户',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=624 DEFAULT CHARSET=utf8 |
其中能看到各字段的创建情况,当前表中自增大小,编码格式