Php I';我不确定我的外键是否有效

Php I';我不确定我的外键是否有效,php,html,sql,database,phpmyadmin,Php,Html,Sql,Database,Phpmyadmin,我已经建立了一个员工可以发送反馈的系统 反馈表: 现在我的数据库中有两个表,tbl_feedback和employee: tbl_反馈: 雇员: 我的tbl_反馈中的员工id是引用员工表中id的外键 我的问题是,真的有必要在我的表格上写上员工ID吗?因为我注意到,当我删除表单上的员工ID时,我得到了一个错误。这是否也意味着我没有将employee_id列设置为外键?适当地 以下是我的插入反馈php代码: 如果您从反馈表中删除员工信息,而不从其他来源获取信息,您肯定会遇到问题 添加到表中的

我已经建立了一个员工可以发送反馈的系统

反馈表:

现在我的数据库中有两个表,tbl_feedback和employee:

tbl_反馈:

雇员:

我的tbl_反馈中的员工id是引用员工表中id的外键

我的问题是,真的有必要在我的表格上写上员工ID吗?因为我注意到,当我删除表单上的员工ID时,我得到了一个错误。这是否也意味着我没有将employee_id列设置为外键?适当地

以下是我的插入反馈php代码:


如果您从反馈表中删除
员工
信息,而不从其他来源获取信息,您肯定会遇到问题

添加到表中的外键约束只是确保表中没有反馈条目,没有对应的员工可以映射

这意味着,它不会神奇地将两个表相互映射,并确保每个反馈都有一个链接的员工,而是根据给定的
id
为每个无法链接到员工的反馈条目抛出一个错误。因此,您遇到的错误实际上证明了外键约束工作正常


所以,即使您有外键约束,您仍然必须管理代码中的映射。

如果表中有外键,则在插入数据时表需要传递该键。无论您是通过表单传递还是通过PHP代码从数据库获取员工id,这都无关紧要。

@PhilippMaurer您指的是插入反馈PHP代码吗?或者您还需要我用来创建表的查询吗?@PhilippMaurer提供了php代码和我用来创建tbl的查询_feedback@PhilippMaurer你是说如果我从php代码中删除员工id吗?你说
,因为我注意到当我删除表单上的员工id时,我发现一个错误。
我只是问你从哪里得到了员工id,而不是你从哪里得到的that@PhilippMaurer哦,是的,我的意思是当我从php代码中删除employee_id时,我只是得到了一个错误,所以我想知道是否真的有必要在表单上添加employee id是的,但这意味着您仍然需要将
员工id
添加到您的表单中,或者找到另一种方法来确定是哪位员工填写了表单。非常感谢!我不知道我是否知道你的意思,如果我有一个管理员帐户,你可以在那里查看反馈,那么我可以找到另一种方法来确定哪些员工填写了表格。这就是你的意思吗?很抱歉,我没听清楚。@AndreF我的意思是,如果您不想
employee\u id
成为表单的一部分,您必须考虑另一种方式来获取它。会话,例如,如果您有一个登录名,或者作为GET参数,如果每个员工都获得一个个性化链接。我不能告诉你可能有哪些方法,因为这取决于你的项目。一个关于这个社区的讨论将是错误的。我理解。是的,我真的不希望员工id成为表单的一部分,至少我知道在没有员工id的情况下还有其他方法可以完成。同时,我想这也行得通。谢谢