让我们考虑一个非常基本的表格:
CREATE TABLE test_warning (col_a INT NOT NULL, col_b INT NOT NULL)
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| col_a | int(11) | NO | | NULL | |
| col_b | int(11) | NO | | NULL | |
+-------+---------+------+-----+---------+-------+
当我插入未指定其中一列的行时,会生成警告:
INSERT INTO test_warning (col_a) VALUES (1);
Query OK, 1 row affected, 1 warning (0.05 sec)
SHOW WARNINGS;
+---------+------+--------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------+
| Warning | 1364 | Field 'col_b' doesn't have a default value |
+---------+------+--------------------------------------------+
有没有人试图检索在 zend 应用程序中SHOW WARNINGS
使用的输出?Zend_Db_Adapter
我试过以下:
- 插入带有适配器的行(例如,通过创建
Zend_Db_Row
并保存它)缺少列的值以引发警告。 - 执行类似的命令
$adapter->query('SHOW WARNINGS')->fetchAll();
。这将返回一个空数组。
我开始相信这Zend_Db_Adapter
“仅”对通过SELECT
.