如果外键是唯一/增量值,并且我不知道它是什么,如何插入将表 2 连接到表 1 的记录?

How can I insert a record that connects table 2 to table 1, if the foreign key is a unique/incremental value, and I do not know what it is?

提问人:Potato 提问时间:11/15/2023 更新时间:11/15/2023 访问量:29

问:

所以我有一个表格,用户可以在其中注册他们的 fname 和 lname。有了它,我可以给他们一个唯一的增量 id。 table1 有 id、fname、lname,table2 有 id、abc1、abc2、abc3(abc1-3 是 bool,by defualt、true、false、false。但是,在表 2 中,我想创建一个 1:1 记录,该记录的创建时间与表 1 中的记录相同。

这是代码

$sql = "INSERT INTO customers (fname, LastName) VALUES ( ?, ?)";
    $stmt = mysqli_stmt_init($conn); 
    $prepareStmt = mysqli_stmt_prepare($stmt,$sql); 
if ($prepareStmt) {         
    mysqli_stmt_bind_param($stmt,"ss",$fname, $lname); 
    mysqli_stmt_execute($stmt); 
    $givePerms = true;
}
if ($givePerms){
    $falseval= false; $trueval= true; 
    $sql = "INSERT INTO userPerms (abc1, abc2, abc3) VALUES (?, ?, ?)"; 
    $stmt = mysqli_stmt_init($conn); 
    $prepareStmt = mysqli_stmt_prepare($stmt,$sql); 
if ($prepareStmt) { 
    mysqli_stmt_bind_param($stmt,"sss", $trueval, $falseval, $falseval); // This is where the "I don't know what it is" part of the question comes from.
    mysqli_stmt_execute($stmt); 
}

我收到诸如“未捕获的 ArgumentCountError:类型定义字符串中的元素数必须与绑定变量数匹配”之类的错误,以及我多次尝试的其他错误。我可以插入表 1,但是,我不能插入表 2。

我试图得到的预期结果是,两个表每 1 个寄存器都有一个输入: 表1带(1,“乔治”,“华盛顿”) 表 2 包含 (1, True(1), False(0), False(0))

PHP 数据库 表单 phpmyadmin

评论

2赞 Barmar 11/15/2023
用于获取在上一个 中分配的 ID。LAST_INSERT_ID()INSERT
0赞 RiggsFolly 11/15/2023
向 table2 like 添加一列,并使用上面的注释将表中的 ID 存储在其中user_iduser
0赞 RiggsFolly 11/15/2023
有关于关系数据库设计主题的书籍和在线教程。我能否建议你找到并阅读其中之一,而不是在这里问这种问题。

答: 暂无答案