【MySQL】MySQL存不了字符引发的折腾

起初,做一个图书馆系统建了个MySQL数据库,要往表中写入字符的时候写不进去,查询资料改my.ini配置文件中的mysqlId下加两句字符集有关的。

加了这两句后重启MySQL服务,发现MySQL服务开启不了。(早上6点醒来就开始想怎么解决)

于是在ProgramData中根据搜索的情况,各种操作,包括删Data文件夹齐平的三个文件等。无效。

最后,第二天早上想着引起这个变化的就是在my.ini配置文件中的mysqlId下加两句字符集有关的,就把那两句字符集有关的配置语言删除,竟然可以重启MySQL服务。

这时候,我打开navicat中之前建的数据库,里面的数据表打不开了,要删除这个建的数据库也删除不了、1045的错误。

于是我只能去C盘ProgramData的Data文件夹中把之前建的数据库删除,因为其中的数据表已经打不开,只能删除重建。重建的数据库是可以操作使用的。

这个对数据库不能操作的原因,可能是之前建的数据库数据文件已经通过我的一次备份,然后替换发生了改变,然后打不开。

教训就是:
1、C盘ProgramData的MySQL的Data文件夹不要轻易改变、移动、替换。
2、MySQL的配置文件my.ini谨慎改动。改动之前一定记得要备份原始的my.ini。

将近两三个小时的折腾,收获就是对MySQL数据库更加熟悉。不过,存不了字符还是个问题啊,要继续解决。


找到原因了,往MySQL数据库中写入字符(英文、中文),也就是字段的格式为char、vachar,都要加单引号

插入语句如下:

//sql语句
                string sql = "insert into bookinfo (bookname, booktype, bookauthor, bookprice, bookpic, bookcontent, bookissue)"
                    + " values ('" + strBookName + "', '" + strBookType + "', '" + strAuthor + "', '" + strPrice + "', '" + 
                    strPic + "', '" + strContent + "', '" + strIssue + "');";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值