2011-08-04 71 views
-2

我甚至可以使用abc作爲DATETIME列的值。爲什麼我不能像phpmyadmin那樣獲取警告消息?

爲什麼它根本沒有驗證?

UPDATE

關於phpmyadmin的是如何得到警告:

通過閱讀它的代碼,我覺得從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是開源的,歡迎自己添加修復程序 – ajreal

+0

@ajreal,它是開源的,但現在應該足夠成熟,它必須有它的理由不這樣做。 –

回答

0

不,它做了適當的驗證。

當我試圖爲值「abc」添加到字段「date_time」(其數據類型是「DATETIME」),那麼我得到這個錯誤警告」:#1264超出範圍值的調整列「DATE_TIME '在第1行「

但是,行已插入成功,但該字段的值自動更改爲「0000-00-00 0000:00:00」。

我使用的是phpMyAdmin的版本3.3.10.2。

希望它有幫助。

+0

你知道警告信息來自哪裏嗎? –

+0

真的很抱歉說,但我認爲這應該是發送驗證消息的phpMyAdmin。同樣默認情況下,它應該正確地發佈驗證消息,所以爲了您未來的發展,最好是重新安裝phpMyAdmin。 –

+0

錯誤,我正在閱讀它的代碼,它來自'show warnings',但我無法在命令行MySQL中重現它。 –

相關問題