mysql - HTML 表单 : Insert id into related table

标签 mysql insert

我对 PHP 和 MySQL 都比较陌生,这是我的第一个问题:

我有 3 张 table 。一个作为“主表”,两个作为基本列表/类别,我可以选择它们并将它们与我的主表相关联。

表1

id    name    hobby    color
1     Peter   1        2
2     Simon   3        2
3     Lisa    2        3

表 2 就是爱好

id    name
1     Swimming
2     Football
3     Piano

与表 3 和颜色相同。

id    name
1     red
2     blue
3     green

现在,我已成功将这些表与 PHPMyAdmin 进行“关联”,但我该如何执行以下操作:

我想将数据插入到第一个表中。问题是,我想在爱好或颜色中插入一个简单的数字,但在 HTML 表单中应该有与 is 相关的文本。

因此,如果我选择“green”(作为字符串),它应该将 3 插入到表 1 中。

我希望大家清楚我想要做什么。 感谢您提前提供的所有帮助。

西蒙

最佳答案

这是您要找的吗?

INSERT INTO table1(姓名、爱好、颜色) 值(value)观 (“汤姆”, (从表 2 中选择 id,其中名称 = '游泳'), (从 Table3 中选择 id,其中 name = 'green') );

请注意,如果要使其正常工作,名称列必须是唯一的,否则您可能会收到“查询返回多行”错误。

此外,我会将此语句编写为存储过程,以实现安全性和额外的错误检查。

关于mysql - HTML 表单 : Insert id into related table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414186/

相关文章:

MYSQL - 插入两个不同表的语句

php - 获取一个月的总计和限制结果 MySQL

mysql - mysql 中的计数和不同(表中的逗号分隔数据)

Mysql:如何在 init_connect 变量中正确设置过程调用

MySql:插入一行并获取内容

c# - 将字符串数组值插入 DataGridView C#

C#、Excel、OleDB、插入语句不起作用

php INSERT 到变量名 MySQL 的列

mysql - Duplicate Column Name 错误 MySQL 多个子查询

mysql - 从 CSV 插入多个表