Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Der Wert des MySQL-BIT-Felds kann bei Verwendung von SELECT nicht angezeigt werden

Der Grund, warum Sie es im Terminal nicht sehen können, ist, dass Bitwerte nicht druckbare Zeichen sind.

Lassen Sie uns folgende Werte einfügen:

INSERT INTO `my_table` (`ID`, `enabled`)
VALUES (1,b'1'),(2,b'0');

Wählen Sie sie dann zum Ablegen aus:

mysql> SELECT * FROM my_table INTO OUTFILE '/tmp/my_table.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Sehen wir uns zuerst unsere /tmp/my_table.txt an Datei als Klartext:

und dann in Hex-Ansicht:

Um diese Werte sehen zu können, können Sie einfach CAST sie in SELECT :

SELECT id, CAST(enabled AS UNSIGNED) AS enabled FROM my_table

Und das erzeugt die folgende Ausgabe:

+----+---------+
| id | enabled |
+----+---------+
|  1 |       1 |
|  2 |       0 |
+----+---------+
2 rows in set (0.00 sec)