【发布时间】:2011-12-16 12:39:40
【问题描述】:
我有 2 个不同的服务器: 一个正在运行的 Plesk Panel(PHP 5.2.13 和 MySQL 5.0.45-community-nt), 和另一个运行 Zend Server 5.5(PHP 5.2.17 & MySQL 5.1.50-community)。
我在两台服务器上的 mysql DB 中都有一个表,如下所示:
创建表`test_table`( `id` int(11) NOT NULL auto_increment, `num` int(5) 非空, `txt` 文本不为空, `ste` bigint(5) 非空, 主键(`id`) ) 引擎=InnoDB 默认字符集=latin1我在两台服务器上运行以下 php 代码:
mysql_query("开始交易"); if(!mysql_query("插入 test_table(num,txt) 值(1,'sd')")) { echo "错误发生。".mysql_error(); mysql_query("回滚"); 出口; } 别的 { echo "插入成功"; mysql_query("提交"); 出口; }
我在我的 Plesk 服务器上成功运行了查询(带有警告 - 如果运行 SHOW WARNINGS 查询,我得到“字段 'ste' 没有默认值”,但该行已插入并且 mysql_query 返回 true)
但在我的 Zend 服务器上,mysql_query 返回 false 并显示相同的错误。该行未插入。
我需要插入行忽略警告。我花了一整天的时间在这上面,现在没有选择了。
请帮助我。非常感谢。
【问题讨论】:
标签: mysql