我甚至可以使用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)
phpmyadmin是开源的,欢迎自己添加修复程序 – ajreal
@ajreal,它是开源的,但现在应该足够成熟,它必须有它的理由不这样做。 –