go插入mysql记录没有报错但是mysql中没有成功
今天在玩一个web的项目时,遇到了这么一个问题,go中使用insert into
命令插入记录时,没有报错,但是在数据库中却没有成功,一开始我以为是post请求时获取数据出了问题,但是多次测试过后,发现没有问题,又多次打印error,到处调试,但总是没有发现问题所在。之后偶然post数据时我随便乱按键盘,随便一看竟然成功了,这时我才突然有了想法,我是最近用linux的,并没有考虑转码问题,同时在go中打开数据库时也转码了utf-8了,以为没有问题,这时候我进入mysql随便插入中文,发现没有成功,这才找到问题所在。下次遇到这个问题要注意创建table时设置一下编码。
解决:
- 创建的时候转码
create table entries2 (
id int auto_increment,
title text,
content text,
posted_on datetime,
primary key (id)
) character set = utf8;
- 转换已有table
alter table table_name convert to character set utf8;