当前位置: 首页 > 知识库问答 >
问题:

Mysqli使用自动增量插入到多个表中

曾飞沉
2023-03-14

您好,我尝试使用mysqli从第一个表中获取autoincrement id,然后插入到第二个表中,这是我为每个表设计的数据库

用户

  id_user  PK auto-inc
  username 
  password
  nama
  role
  status

表siswa

  id_siswa PK auto-inc
  id_tingkatan 
  nama_siswa
  jk_siswa
  hp_siswa
  nama_ortu
  jk_ortu
  hp_ortu
  id_user 

这就是我尝试过的

$query = "INSERT INTO users
                        (username, password, nama, role, status) 
                 VALUES ('$name','$password','$nama','$role','$status')";
$koneksi->query($query);

$query = "INSERT INTO siswa
                        (id_tingkatan, nama_siswa, jk_siswa, hp_siswa, 
                         nama_ortu, jk_ortu, hp_ortu, id_user) 
                 VALUES ('$tingkatan','$nama','$jksiswa','$hpsiswa',
                         '$namaortu','$hportu', $koneksi->insert_id)";
$koneksi->query($query);

数据插入到用户表中,但不插入到siswa表中,对此有何建议?

编辑:被忽略的变量只($jkortu)现在修复,谢谢

共有2个答案

翁和正
2023-03-14

您缺少一个参数。

您应该始终测试mysql错误,否则它将无声地失败,并且您不知道发生了什么:

if (!$server->query($query)) {
  throw new Exception($server->error());
}
壤驷喜
2023-03-14

在后一个插入中,第一个逗号列表中的项目数与第二个逗号列表中的项目数不一致。这将引发语法错误。

 类似资料:
  • MySQL中有两个表,如下所示: 请注意,category_id是类别表中category_key的FOREIGN KEY 我想在第三个表(名为“catalog”)中插入目录项,这样每个目录ID都将从其类别和子类别ID生成,每个类别子类别ID的串联编号都会自动递增。 例如: 假设“categories”表中有一行的categories_键为“ABC”,而“sub_categories”表中也有一行

  • 例如,我有一个包含2个表的数据库。第一个表(表 1)包含: userId 是我的主键,它是自动递增的。我的下一个表(表2)有: userId(来自表2)是我引用表1(userId)的外键。是否有一种方法可以插入到两个表的所有信息中,并使表2中的用户ID自动从表1中获取它引用的主键?或者,我必须为每个表执行多个插入,并显式地使外键具有相同的值。

  • 我试图在表中插入一行,带有一个自动递增字段,但我遇到了错误。该表的结构为: id:自动增量 级别:文本 概念:文本 . 在w3c中,我了解到要将新记录插入表中,我们不必为“自动增量”列指定值(将自动添加唯一值)。 我做错了什么?

  • 问题内容: 我正在尝试更改没有主键或auto_increment列的表。我知道如何添加主键列,但我想知道是否有可能自动将数据插入主键列(我已经在数据库中有500行,并希望为其提供ID,但我不想手动执行) 。有什么想法吗?非常感谢。 问题答案: 在我的测试中,添加列的语句可以正常工作: 在为测试目的而创建的临时表上,以上语句创建了该 列,并为该表中的每个现有行插入了自动递增值,从1开始。

  • 我正在使用java中的MySQL库执行一个查询。在我的数据库结构中,有一列名为(主键,非空且自动递增)。通常在每次插入查询中,我都将值设置为,在查询执行后,它会增加最后一个id,但在java中这样做会给我异常。 这就是代码: 如何使用自动增量ID执行查询?

  • 我有一个表,我试图插入新行,但有一个列不会自动递增自己。有没有办法编写一个INSERT命令,根据列中的最高值自动递增该列?