为什么我能';无法像phpmyadmin那样获得警告消息?
我甚至可以使用为什么我能';无法像phpmyadmin那样获得警告消息?,php,phpmyadmin,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:
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)
不,它进行正确的验证 当我试图将值“
abc
”添加到字段“date\u time
”(其数据类型为“DATETIME
”)时,我得到了以下错误“警告:#1264超出了为第1行“date\u time”列调整的范围值”
但是,行已成功插入,但该字段的值已自动更改为“0000-00-00 0000:00:00
”
我使用的是phpMyAdmin的3.3.10.2版本
希望有帮助。phpmyadmin是开源的,欢迎添加修复程序yourself@ajreal,它是开源的,但现在应该足够成熟了,它一定有理由不这么做。你知道警告消息首先来自哪里吗?非常抱歉,但我认为应该是phpMyAdmin发出验证消息。另外,默认情况下,它应该正确地发出验证消息,因此为了您未来的发展,您最好重新安装phpMyAdmin。错误的是,我正在阅读它的代码,它来自
show warnings
,但我无法在命令行MySQL中复制它。