কম্পিউটার টিউটোরিয়াল

MySQL-এ GROUP_CONCAT() বিট ফিল্ডে ব্যবহার করলে গার্বেজ ভ্যালু আসে - সমাধান


সমস্যা

BIT টাইপ কলামে GROUP_CONCAT ব্যবহার করলে বাইনারি ডেটা আসে, পাঠযোগ্য নয়।

টেবিল তৈরি এবং ডেটা

mysql> create table DemoTable1856 ( Id int, Value bit(1) ); Query OK, 0 rows affected (0.00 sec)
mysql> insert into DemoTable1856 values(101,1); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1856 values(102,0); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1856 values(101,0); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1856 values(102,1); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1856 values(101,0); Query OK, 1 row affected (0.00 sec)

রোগনির্বারণ: +0 যোগ করুন

BIT মানকে সংখ্যায় কনভার্ট করতে ০ যোগ করুন:

mysql> select group_concat(Value+0) from DemoTable1856 group by Id;
+-----------------------+
| group_concat(Value+0) |
+-----------------------+
| 1,0,0                 |
| 0,1                   |
+-----------------------+
2 rows in set (0.00 sec)

কারণ: BIT টাইপ বাইনারি স্ট্রিং হিসেবে সংরক্ষিত হয়। +0 অপারেশন করলে এটি INTEGER-এ কনভার্ট হয় এবং GROUP_CONCAT সঠিক পাঠ্য ফেরত দেয়। CAST(Value AS UNSIGNED) ও ব্যবহার করা যায়।

  1. Python অবজেক্ট MySQL-এ ইনসার্ট করার পদ্ধতি

  2. MySQL-এ GROUP_CONCAT এবং CONCAT একসাথে ব্যবহার

  3. MySQL Workbench ব্যবহার করে ডেটাবেস ব্যাকআপ নেওয়া

  4. MySQL에서 GROUP_CONCAT과 CONCAT, DISTINCT로 컬럼 값 따옴표로 감싸기