首页 > 解决方案 > 如何填充位数据类型等于 1 的所有位?

问题描述

这是我的查询:

UPDATE users SET active = -1 WHERE id = ? AND active IS NULL

它适用于我当前的 MySQL 版本。我的意思是它设置1111111111active价值。注意activeBIT(10)数据类型。

但最近我升级了 MySQL 版本,它抛出:

字符串(94)“SQLSTATE [22001]:字符串数据,右截断:1406 数据太长,对于第 1 行的列‘活动’”

知道如何解决吗?

标签: mysqlsql

解决方案


如果你想要一些有一堆位的东西,请使用BINARY(2)16 位。如果您需要一个非常长的位字符串,请使用BLOBor MEDIUMBLOB


推荐阅读