Database MariaDB/MySQL インフラ

[MySQL/MariaDB] errorやwarningを確認する「show warnings」と即座に表示する方法

2018年10月24日

こんにちは!シミダイ(@shimidai2100)です。

MySQL」、「MariaDB」でerrorやwarningを表示する「show warnings」を紹介します。

show warnings」はmysqlコマンド固有のSQL文ですので、この機会にしっかりマスターしましょう。

DBはインストールされている前提ですので、MariaDB・MySQLのインストール方法は下の記事を参考にしてください。

LinuxへのMariaDBのインストールとデータベース作成

こんにちは!シミダイ(@shimidai2100)です。 Linux上でMariaDBをインストールする手順とデータベー ...

続きを見る


show warnings:warningを表示する

warning、errorを表示するのは「show warnings;」を使用します。

show warnings;

以下実行例になります。

MariaDB [test001]> LOAD DATA LOCAL INFILE 'imp_test.txt' INTO TABLE test001 FIELDS TERMINATED BY '\t' ENCLOSED BY '"';
Query OK, 3930 rows affected, 1 warning (0.03 sec)
Records: 3930  Deleted: 0  Skipped: 0  Warnings: 1

MariaDB [test001]> show warnings;
+---------+------+------------------------------------------------------------------------------+
| Level   | Code | Message                                                                      |
+---------+------+------------------------------------------------------------------------------+
| Warning | 1262 | Row 3930 was truncated; it contained more data than there were input columns |
+---------+------+------------------------------------------------------------------------------+
1 row in set (0.00 sec)

MariaDB [test001]>

Level」がwarningなのかerrorなのか種別を表示します。

Code 」は戻り値になります。

Message」はwarning , errorのメッセージを表示します。

--show-warnings:warningを即座に表示

「mysql」コマンドでDBへログイン時に「--show-warnings」句を使用することでwarningsを即座に表示することも出来ます。

mysql -u <DBユーザー> -p --show-warnings;

以下実行例になります。

[root@test001 ~]# mysql -u root -p test001 -ppassword --show-warnings
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [test001]> LOAD DATA LOCAL INFILE 'imp_test001.txt' INTO TABLE test001 FIELDS TERMINATED BY '\t' ENCLOSED BY '"';
Query OK, 3930 rows affected, 1 warning (0.03 sec)
Records: 3930  Deleted: 0  Skipped: 0  Warnings: 1

Warning (Code 1262): Row 3930 was truncated; it contained more data than there were input columns

また「~/.my.cnf 」に設定を書いても同様に即座に表示することができます。

[mysql]
show-warnings

 

 

関連記事

-Database, MariaDB/MySQL, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.