php - 向具有 auto_increment 列的表中插入一行

标签 php mysql insert mysqli auto-increment

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

如果我要使用 mysqli 准备好的语句插入到这个表中,我在插入有效的查询时会遇到问题。使用 phpMyAdmin 它告诉我给它NULL。我试过这个:

$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)

关于php - 向具有 auto_increment 列的表中插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2227188/

相关文章:

php - 将二进制数据从 PHP 插入 MySQL 时为什么要使用 bin2hex?

php - Symfony 功能测试 - Controller 方法 getUser 返回 null

php - 如何选择包含名字和姓氏的所有结果?

mysql - 用于将大型数据库子集化为小型数据库以满足 QA 需求的实用程序/产品?

php - Joomla ZOO 元素计数器

NHibernate 2.1.0.4000 似乎不喜欢批量插入

function - 如何使用 Jodit 编辑器正确插入上传的图片?

不需要 PHP 结束标记?

PHPUnit 警告 - 未配置过滤器,不会处理代码覆盖率

java - Informix for mysql now() 中的替换函数是什么