在mysql中数据才插入20多行就报错,求救啊!!!

在mysql中数据才插入20多行就报错,求救啊!!!,第1张

使用命令行方式登陆到MySQL服务器, 建立一个数据库,数据库编码设为UTF-8。此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column 'name' at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下解决方法:

1、在Linux中,使用终端方式登陆MySQL服务器,运行以下命令:

set names utf8

该命令将终端的字符编码设为了UTF-8。此后再插入数据库中的内容都会按照UTF-8的编码来处理。

2、在Windows下,命令行窗口不支持UTF-8编码,所以使用“set names utf8”不会达到转化中文的效果。

所以在windows命令窗口下 使用:set names gbk

告之mysql你是以gbk编码方式来 *** 作的

然后再把你上面插入的代码在记事本等编辑器里面吧字符编码改为gbk编码;

在记事本中保存的编码我 ANSI

它这个就算不是数值列也很诡异

如果id >100能查询出来111 114, id >100能查出111 114也就是说默认排序必定为1大于0, 4也大于0,在这条件下,如果id >110,必定能查出111才对。 诡异就诡异在这里了

如果是字符型,可以考虑取掉前后的空白字符串然后再查询TRIM(id) >'110'???

是不是被锁了啊?或者是缓存的影响? 缓存确实很强悍,不知道mysql里面能不能设置缓存有效时间。我曾经碰到过DB2里面的NB缓存,最后没办法,重启服务器才解决。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8507480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存