插入

时间:2017-01-24 11:39:17

标签: php mysql pdo mariadb

我在插入查询时遇到了PHP的PDO问题。

我的数据库中有以下表格:

CREATE TABLE `test` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `col1` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我正在使用以下代码     

$conn = new PDO("mysql:host=localhost;dbname=my_db", "user", "pass");
$stmt = $conn->prepare("INSERT INTO `test` (`col1`) VALUE ('test_val')");
$stmt->execute();

通过运行此代码,我希望获得1个新行,但是两个插入的值相同!对于两行中的每一行,id字段都会递增。

所有其他查询,例如SELECT,DELETE具有多个嵌套连接的复杂查询以及绑定参数似乎都能正常工作,它们都可以获取它们应该拥有的数据。问题似乎只与插入查询有关。

我已经搜索了一下,无法找到有关此问题的任何文档。我很好奇是否有遗漏导致此行为的旗帜或选项。

注意:在过去的几年里,我一直在为一个大型项目使用PDO,这段代码是我成功使用的包装器的一部分。我刚刚设置了一个新的VM并分叉了旧项目,开始研究新版本,这是我注意到这个问题的地方。我已将其缩小到这三行,并使用test表来测试该问题。

环境:

  • 新格式化的Debian 8.7 VM
  • 使用MariaDB:10.0.28-MariaDB-0 + deb8u1(Debian)
  • 使用Apache:Apache / 2.4.10(Debian)
  • 使用PHP:5.6.29-0 + deb8u1(内置:2016年12月13日16:02:08)

也许是PHP或mysql的错误?

谢谢!

0 个答案:

没有答案