MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

ビットフィールドでGROUP_CONCAT()を使用すると、MySQLでガベージが返されますか?直し方?


修正するには、group_concat()を使用し、列に0を追加します。まずテーブルを作成しましょう-

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)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1856;

これにより、次の出力が生成されます-

+------+-------+
| Id   | Value |
+------+-------+
|  101 |       |
|  102 |       |
|  101 |       |
|  102 |       |
|  101 |       |
+------+-------+
5 rows in set (0.00 sec)

これは、ビットフィールドでgroup_concat()を使用し、ガベージ値を返さないようにするためのクエリです-

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)

  1. MySQLのCONCATでGROUP_CONCATを使用するにはどうすればよいですか?

    まず、テーブルを作成しましょう。 mysql> create table GroupConcatenateDemo -> ( -> id int, -> FirstName varchar(100), -> Score int -> ); Query OK, 0 rows affected (0.61 sec) レコードの挿入 ここで、いくつかのレコードを挿入しましょう。 mysql> insert into GroupConcatenateDemo values(1,'John',94); Query OK, 1 row affec

  2. MySQL Workbenchを使用してMySQLデータベースのバックアップを取る方法は?

    MySQLを使用してMySQLデータベースのバックアップを作成するには、最初にMySQLWorkbenchをインストールする必要があります。以下のリンクをたどって、MySQLワークベンチをインストールします。 https://dev.mysql.com/downloads/windows/installer/8.0.html インストールに成功したら、MySQLWorkbenchを開く必要があります。 「データのエクスポート」オプションを選択します。これがスナップショットです。 エクスポートするデータベースを選択します。ここで、データベースを保存するパスを設定することもできます。