mysql存储表情报错】的更多相关文章

数据库版本:mysql  Ver 8.0.16 数据库字符集:utf8 原因:mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情.但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储. 解决办法:修改表中对应字段的字符集,如下图:…
从mysql数据库中导出正常数据库的脚本语句,而后使用脚本语句创建数据库的过程中,执行语句提示Can't Create Table 'XXX' erro150的错误,语句执行中断,创建table失败,仔细分析相关语句发现导致此错误的原因为创建的外键和关联的表的主键类型不匹配. 仔细查看被执行的语句,发现无法执行的table语句中含有CONSTRAINT关键字和FOREIGN KEY 外键关键字,因此判断该table的创建必须在外键表创建完成之后才可执行,找不到引用外键的表导致语句执行失败,遂先找…
今天做的了个获取微信粉丝的功能,发现将昵称插入数据库报错.长度肯定是够的 Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F 找了点资料发现UTF-8编码有可能是两个.三个.四个字节.Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 网上解决方式都是 改动mysql配置 1.在mysql的安装文件夹下找到my.ini,作例如以下改动: [mysqld] character-set-server=u…
保存emoji表情错误 首先错误表现,抛出业务层报错之外,根源的数据库错误是: sql 错误码 1366 字符集相关错误. uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x86\x97\xE2\x88...' for column 'body' at row 1; nested exception is java.sql.SQLExceptio…
最近做项目时,本地数据库出了毛病,PHPMyadmin中有几张表不见了,我想应该是误删了吧,于是准备重新建一张表,可是问题出现了,sql报错,说表不存在... 什么鬼!就是因为表不存在我才要创建的好吗??? 去mysql的data目录找,发现.frm文件还在,于是google了一下,找到以下解决办法: 1).随便弄一个其他的数据库,创建一个名字一样的表: 2).进去mysql data中的这个数据库目录下,将该表的.frm..MYD..MYI三个后缀的文件复制到项目用的数据库目录: 3).登录项…
1.报错原因: mysql utf-8 编码储存的是 2-3个的字节,而emoji则是4个字节. 2.解决办法: 修改mysql的配置文件,windows下的为my.ini(linux下的为my.cnf),修改的内容都一样. [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server…
这个错误是由于mysql 版本问题导致的 `create_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', `update_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 这是建标语句.MySQL 5.5 每个表只允许一个列的默认值根据时间戳生成时间 可以使用触发器来替代一下: CREATE TABLE `e…
说明:当我们创建表 “test”表时 CREATE TABLE test ( id INT(11) default NULL auto_increment, s char(60) default NULL, PRIMARY KEY(id) ENGINE=InnoDB; 一般情况这样没任何问题.但是,如果MySQL服务器配置中未启用InnoDB存储引擎.则在创建表 test 时,MySQL还是会自动选择默认的存储引擎MyISAM来创建test表.因为通过SHOW CREATE TABLE 表名 来…
MYSQL单表可以存储多少条数据??? 单表存储四千万条数据,说MySQL不行的自己打脸吧. 多说一句话,对于爬虫来说,任何数据库,仅仅是存储数据的地方,最关心的是 能否存储数据和存储多少数据以及存储数据的速度而已. 至于后期的处理需要查询,完全可以用ES或者其他的数据库.…
修改表的存储引擎myisam<=>innodb 查看表的存储引擎mysql> show create table tt7;+-------+-------------------------------------------------------------------------------------------------------------------------+| Table | Create Table                                …