Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql查询中的自动增量_Php_Mysql_Arrays_Increment - Fatal编程技术网

Php mysql查询中的自动增量

Php mysql查询中的自动增量,php,mysql,arrays,increment,Php,Mysql,Arrays,Increment,我需要用数组中的数据填充MYSQL表的几列。所以一列对应一个数组。我使用以下代码仅用数据填充一列: function addSystemDataTanks ($db, $tankNamesArray, $tankVolumesArray) { $myArray = array(); $myString = implode ("'), ('",$myArray); $statement = "replace into myTable (ID, NAME)"; $s

我需要用数组中的数据填充MYSQL表的几列。所以一列对应一个数组。我使用以下代码仅用数据填充一列:

function addSystemDataTanks ($db, $tankNamesArray, $tankVolumesArray) {
    $myArray = array(); 
    $myString = implode ("'), ('",$myArray);
    $statement = "replace into myTable (ID, NAME)";
    $statement .= "values (' ";
    $statement .= $myString;
    $statement .= "')";
    $result = mysqli_query($db, $statement);

    if ($result) {
       return true;
    }
}
我需要ID字段由自动生成的递增数字填充。但我需要在下次提交此表单时用新值替换这些行。为了使“replace”起作用,ID必须与以前使用的相同,否则它只会创建新条目。 另外,是否有更好的方法将数组作为列输入MYSQL表中,而不是逐个输入,因为我需要所有行值相互匹配,并且ID应该是唯一的,并且在下次提交表单时从0或1开始


谢谢你的帮助。

如果你只是想增加行ID,那你就是在给自己找麻烦!在MySQL中创建表时,在ID上使用AUTO_INCREMENT,然后您可以在代码中为ID输入空值:

CREATE TABLE blah (ID INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), PRIMARY KEY(ID));

$sql = "INSERT INTO blah VALUES(NULL, 'Adam')";

“Adam”现在的ID为1:)

表的结构是什么?
NAME
是否唯一?如果是,则问题很简单-如果不是,则下次提交表单时需要以某种方式包含ID。使用您提供的
INSERT
查询-
ID
将不会为0。这将是第一个可能的自动增量值,很可能是1。答案的另一个问题是,
createtable
语句将不会执行-问题是
INT(500)
(wtf)。我不会投票否决你,而是考虑改进答案。意味着写1,而不是零哈哈。对于INT(500)-说真的,是wtf自己。我不知道我为什么要打那封信,一定是那天。。发生了:)