为什么我不能像phpmyadmin那样收到警告消息?

时间:2011-08-04 12:12:47

标签: php phpmyadmin

我甚至可以使用abc作为DATETIME列的值。

为什么它根本没有进行验证?

更新

关于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)

1 个答案:

答案 0 :(得分:0)

不,它做了正确的验证。

当我尝试将值“abc”添加到字段“date_time”(其数据类型为“DATETIME”)时,我收到此错误“警告:#1264超出范围值,已针对第1行“”列'date_time'进行了调整。

但是,该行已成功插入,但该字段的值自动更改为“0000-00-00 0000:00:00”。

我正在使用phpMyAdmin的3.3.10.2版本。

希望它有所帮助。