2011-08-04 9 views
-2

DATETIMEの値としてabcを使用することもできます。phpmyadminのように警告メッセージが表示されないのはなぜですか?

なぜそれはまったく検証していないのですか? phpmyadminの警告取得する方法について

UPDATE

:そのコードを読み取ることにより

を、私はそれがshow warningsからだ見つけるが、私は、コマンドラインのMySQLでそれを再現することはできません。

mysql> UPDATE `test`.`uu3` SET `id` = 'x',dt='ab1c' WHERE `uu3`.`id` =3 AND `uu3`.`id2` =4; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 0 Changed: 0 Warnings: 0 

mysql> SHOW WARNINGS; 
Empty set (0.00 sec) 

mysql> desc `test`.`uu3`; 
+-------+------------------+------+-----+---------+-------+ 
| Field | Type    | Null | Key | Default | Extra | 
+-------+------------------+------+-----+---------+-------+ 
| id | int(10) unsigned | NO |  | NULL |  | 
| id2 | int(10) unsigned | NO |  | NULL |  | 
| dt | datetime   | NO |  | NULL |  | 
+-------+------------------+------+-----+---------+-------+ 
3 rows in set (0.02 sec) 
+2

phpmyadminはopensourceです。自分で修正を加えることを歓迎します。 – ajreal

+0

@ajreal、それはオープンソースですが、今は十分に成熟しているので、それをしない理由がなければなりません。 –

答えて

0

いいえ、適切な検証を行います。

私は「date_time」(データ型が「DATETIME」である)のフィールドに値「abc」を追加しようとしたとき、私は、このエラー「警告ました:列「DATE_TIMEについて調整範囲値のうち#1264 '行1で'

しかし、行は正常に挿入されましたが、そのフィールドの値は自動的に "0000-00-00 0000:00:00"に変更されました。

私はバージョン3.3.10.2のphpMyAdminを使用しています。

希望します。

+0

警告メッセージがどこから来るのか知っていますか? –

+0

本当に申し訳ありませんが、検証メッセージを送信するはずのphpMyAdminだと思います。また、デフォルトでは、検証メッセージが正しく出力されるはずですので、将来の開発のためにphpMyAdminを再インストールすることが最もよいでしょう。 –

+0

間違っている、私はそのコードを読んでいる、それは 'show warnings'からのものだが、コマンドラインMySQLでそれを再現することはできない。 –