gpt4 book ai didi

php - 如何在 MySQL 列中使用二进制数据类型

转载 作者:行者123 更新时间:2023-11-29 02:50:27 25 4
gpt4 key购买 nike

我被困在某个地方,需要你的指导,基本上我是使用位运算符 OR(|) 将多个值插入到单个 colomn 中,我的表结构就像 enter image description here我正在插入工作日,例如 1 表示星期日2 从星期一开始4 表示星期二8 表示星期三,依此类推 pipe sign(|) 分隔,例如 sundaymonday 它将像 1|2 一样插入等等,但是当它插入到表中时,它显示为 enter image description here

现在我想知道如何选择和显示我插入的确切值以及如何使用 php(codeigniter)mysql 更新它?

我使用了这个查询 select cast(column_name as varchar) from table_name 并通过对所有解码值求和得出结果,例如 5 表示 1|4,3 表示 1|2,但是现在我如何将它转换为插入类型,例如 1|2 用于 3 和 1|4 用于 5 等等...

最佳答案

$column&(1<<$day)

将是 0如果那一天不在列中并且 1<<$day如果那一天在 php 的列中。

您不需要使用二进制类型。 Tinyint unsigned 就足够了。你可以这样插入

(1|2)

在php中,把它转换成你想要的格式,

echo '(';
$sep=0;
for($a=1;$a<=$column;$a<<=1)
if($column&$a){
if($sep) echo '|';
else $sep=1;
echo $a;
}
echo ')';

关于php - 如何在 MySQL 列中使用二进制数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36615514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com