php - mysql重用自动递增id

标签 php mysql

我遇到以下情况,我简化了表格以保持此处的可读性。

表结构:(注:id自增)

列: id,text,rid

根据表单的输入,将 2 行插入到表中。

INSERT INTO tablename (id,text,rid) 
VALUES (NULL, $usertext1, ??),(NULL, $usertext2, ??)

现在,我的问题出在哪里?

我需要第一个?第二个?是相同的int,并且两者都需要是第一次插入的自动增量 id!我尝试了LAST_INSERT_ID(),但它返回了0

我想要的结果:

1 |抽象文本 | 1

2 |拉拉拉 | 1

3 |法茹伊夫 | 2

4 |奥伊戈伊 | 2

任何帮助将不胜感激:)

谢谢。

最佳答案

你必须遵循这样的事情才能完成它:

<?php 
$i=0;
$firstInsertId=0;
foreach($post as $value){// suppose each $post index contains the one complete post data
    $usertxt=$value['text'];
$sql="INSERT INTO tablename (id,text,rid) 
VALUES (NULL, $usertxt,$firstInsertId)";
$mysqli->query(sql);
if($i == 0)//flag to get first inserted Id
    $firstInsertId=$mysqli->insert_id;

  $i++;
}

$sql="update tablename set rid=$firstInsertId where id=$firstInsertId";
$mysqli->query(sql);

关于php - mysql重用自动递增id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773235/

相关文章:

mysql - 多删除不起作用

PHP如何将HTML字符串保存到数据库中

php - 使用 Laravel 和 Eloquent 查询创建可过滤列表

c# - 错误 : Connection Entity Framework with MySQL C#

php - 用替代颜色为表格着色

php - 如何在PHP中将sql结果分成四等份?

php - 将现有的 zend 框架目录添加到 eclipse

来自mysql结果的php多维数组

php - 加密PHP,解密Java

mysql - Django 教程说我还没有设置 DATABASE_ENGINE 设置......但我有