simplify the life

Node.js 连接 MySQL 插入 TEXT 类型报错问题

由于开发需要存储大量文本(其实是一个结构化对象字符串),考虑到 char 以及 varchar 都不够大,所以打算用 TEXT 类型,顺便记一下 TEXT、MEDIUMTEXT 以及 LONGTEXT 的存储大小:

但是用 Node 连接 MySQL 插入数据库的时候,一直报错如下:

google 后给出解决方案(原因可以看下 这里):

  1. 在数据库中将该字段编码改成 utf8mb4(如果还不行,将数据库,表也改了,反正我是只改了字段就 ok 了)
  2. Node 连接数据库的时候给出 charset 选项。以 mysql 为例(其他语言应该也要在连接数据库的时候显示声明 charset):

     var connection = mysql.createConnection({
         host     : 'localhost',
         user     : 'root',
         password : '12345', // my mac
         database: 'starskeeper',
         charset: 'utf8mb4' // 添加这里
       });

posted on 2018-08-27 22:06 子迟 阅读(...) 评论(...) 编辑 收藏

导航

统计信息

News