Php mysql查询中的自动增量
我需要用数组中的数据填充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
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自己。我不知道我为什么要打那封信,一定是那天。。发生了:)