我正在尝试复制记录。该表有一个自动增量键。 一次性访问DB,所以我使用multi_query
它返回1,但记录未插入DB。 根据我的阅读,它应该在成功时返回TRUE,或者在失败时返回FALSE。
我的查询下面是否正确?
$sql = "CREATE TEMPORARY TABLE tmp select * from TESTY where TESTY_ID = 88;
INSERT INTO TESTY SELECT MAX(TESTY_ID)+1 FROM tmp where TESTY_ID = 88;";
$mysqli->multi_query($sql);
答案 0 :(得分:0)
来自http://php.net/manual/en/mysqli.multi-query.php
Returns FALSE if the first statement failed. To retrieve subsequent errors from other statements you have to call mysqli_next_result() first.
所以你的第二个陈述就是问题。也就是说,我认为你不能SELECT MAX,增加值并在一个语句中插入INSERT。
编辑:如果字段已经是auto_increment,为什么还要在INSERT上明确设置ID?