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

MySQLのDECIMALにFLOAT値が挿入されたときに警告メッセージを表示しますか?


データ型がDECIMALの一時テーブルを作成して、float値がint列に挿入されたときに警告を受け取ることができます。 SHOWWARNINGSを使用して同じ警告を表示します。

理解するためのテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create temporary table WarningDemo
   -> (
   -> Value DECIMAL
   -> );
Query OK, 0 rows affected (0.13 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into WarningDemo values(9.80);
Query OK, 1 row affected, 1 warning (0.03 sec)

ここで警告が表示されます。 SHOWコマンドを使用して警告を確認しましょう。構文は次のとおりです-

SHOW WARNINGS;

クエリは次のとおりです-

mysql> show warnings;

出力

+-------+------+--------------------------------------------+
| Level | Code | Message                                    |
+-------+------+--------------------------------------------+
| Note  | 1265 | Data truncated for column 'Value' at row 1 |
+-------+------+--------------------------------------------+
1 row in set (0.00 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from WarningDemo;

出力

+-------+
| Value |
+-------+
|    10 |
+-------+
1 row in set (0.00 sec)

  1. MySQLのテーブルAと比較しているときに、データがテーブルBにない場合は、データをテーブルCに挿入しますか?

    これには、テーブルAとBで左結合を使用します。最初のテーブルを作成しましょう- mysql> create table demo20 −> ( −> id int, −> name varchar(20) −> ); Query OK, 0 rows affected (1.87 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo20 values(100,'John'); Query OK, 1 row affect

  2. MySQLのデータベースに挿入するときにdecimal(19、2)の値を変更しますか?

    正確な実際の値を格納するには、小数点以下2桁のtruncate()を使用する必要があります。テーブルを作成しましょう- 以下は、テーブルを作成するためのクエリです。 mysql> create table demo59 −> ( −> price decimal(19,2) −> ); Query OK, 0 rows affected (1.12 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo59 values(truncate(15.346,