如何在mysqli中增加一个字段

时间:2017-07-13 15:49:18

标签: php mysql

我想插入很多行,但在一列中我希望它增加。在我的例子中,我将变量设置为5000,并且每次将一行添加到数据库时,我希望它增加1。

我现在要说这与自动增量无关。我需要一个递增字段是有原因的。

这是我的插入查询

$incrementField=5000;
$query="INSERT INTO `table` (`incrementField`,`this`,`morestuff`)
    SELECT ?,`this`,`morestuff` FROM `someTable`";
$stmt = $db->prepare($query);
$stmt->bind_param('i',$incrementField);
$stmt->execute();
$stmt->close();

哪里?我希望它增加。 我试过?+1?。+ 1和各种排列,但似乎没什么用。

2 个答案:

答案 0 :(得分:0)

你绝对应该使用SQL AUTO_INCREMENT逻辑。我想这些列应该是唯一的标识符,也称为PRIMARY KEY

答案 1 :(得分:0)

我现在有一个可以正常使用的答案

$incrementField=5000;
$query="INSERT INTO `table` (`incrementField`,`this`,`morestuff`)
    SELECT @position := ifnull(@position, ?) + 1),`this`,`morestuff` FROM `someTable`";
$stmt = $db->prepare($query);
$stmt->bind_param('i',$incrementField);
$stmt->execute();
$stmt->close();

毕竟它可以完成。 我认为告诉我不能做的人越多,只会鼓励我更多地找到解决方案。所以那些说不能做的人都可以。