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

开发需存储大量文本,考虑用TEXT类型并记录其存储大小。用Node连接MySQL插入数据时报错,解决方案是将数据库该字段编码改成utf8mb4,Node连接数据库时给出charset选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

675542-20180827220537906-818884208.png

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

675542-20180827220524123-305885546.png

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' // 添加这里
       });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值