向具有AUTO_INCREMENT列的表中插入行

2022-02-23 00:00:00 insert php mysql mysqli auto-increment

我正在处理一个包含4列的表,第一列是名为id的自动递增整数。

如果我要使用mysqli预准备语句插入到这个表中,我总是在插入有效的查询时遇到问题。使用phpMyAdmin,它告诉我将其设置为空。我已经尝试过了:

$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES ('NULL', ?, ?, ?)";
$stmt -> bind_param("ssi", $col2, $col3, $col4)

和这个

$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES (NULL, ?, ?, ?)";
$stmt -> bind_param("ssi", $col2, $col3, $col4)

,并且只给出bind_param 3个参数(最后3个)。这两种方法都不管用。我还尝试了这个:

$null = NULL;
$query = "INSERT INTO tbl (id, col2, col3, col4) VALUES (?, ?, ?, ?)";
$stmt -> bind_param("issi", $null, $col2, $col3, $col4);

这些都不起作用。是否有插入此类型表格的标准化方法?


解决方案

跳过id字段,mysql会自动填充:

$query = "INSERT INTO tbl (col2, col3, col4) VALUES (?, ?, ?)";
$stmt->bind_param("ssi", $col2, $col3, $col4)

相关文章