我在插入查询时遇到了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
表来测试该问题。
环境:
也许是PHP或mysql的错误?
谢谢!