Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

FLOAT 값이 MySQL에서 DECIMAL에 삽입될 때 경고 메시지를 표시합니까?

<시간/>

부동 소수점 값이 int 열에 삽입될 때 경고를 받기 위해 데이터 유형이 DECIMAL인 임시 테이블을 작성할 수 있습니다. SHOW WARNINGS를 사용하여 동일한 경고를 표시합니다.

이해를 돕기 위해 표를 만들어 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

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)