由于开发需要存储大量文本(其实是一个结构化对象字符串),考虑到 char 以及 varchar 都不够大,所以打算用 TEXT 类型,顺便记一下 TEXT、MEDIUMTEXT 以及 LONGTEXT 的存储大小:
但是用 Node 连接 MySQL 插入数据库的时候,一直报错如下:
google 后给出解决方案(原因可以看下 这里):
- 在数据库中将该字段编码改成 utf8mb4(如果还不行,将数据库,表也改了,反正我是只改了字段就 ok 了)
Node 连接数据库的时候给出 charset 选项。以 mysql 为例(其他语言应该也要在连接数据库的时候显示声明 charset):
var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '12345', // my mac database: 'starskeeper', charset: 'utf8mb4' // 添加这里 });