gpt4 book ai didi

php - 连接表中的新条目但避免表中重复

转载 作者:行者123 更新时间:2023-11-30 01:34:50 25 4
gpt4 key购买 nike

我有三张 table ,

Table1 有 id(pk) 和名称表2有id(pk)和类别Table3 是一个联结表,有 id(pk) 和两个外键:table1_id(来自提到的 table1 的 pk)和 table2_id(来自提到的 table2 的 pk)

表单页面有一个输入框(名称)和一个从表2中获取选项的下拉列表。提交表单后,名称将输入到 Table1.name 中,Table3 中将填充下拉选项的 id 和输入的名称的 id。

所有这些都按预期进行。

我正在寻找答案的场景是这样的:

在表单页面中,如果输入的名称已存在于 Table1 中,但下拉列表和名称的组合与之前输入的内容不同,我希望名称插入表 1,但是组合插入表 3

Table1
| id | name |
-----------------
| 1 | John |
| 2 | Mark |

Table2
| id | category |
-----------------
| 1 | Red |
| 2 | Blue |

Table3
| id | table1_id | table2_id |
------------------------------
| 1 | 1 | 1 |
| 2 | 1 | 2 |

最佳答案

表1

"IF(
(
SELECT name
FROM Table1
WHERE name='".mysql_real_escape_string($_POST['name'])."'
) IS NOT NULL,
'',
(
INSERT INTO Table1
VALUES(NULL,'".mysql_real_escape_string($_POST['name'])."'))
),''
);"

表3

"IF(
(
SELECT id
FROM Table3
WHERE table1_id='".(int)$_POST['table1_id']."'
AND table2_id='".(int)$_POST['table2_id']."'
) IS NOT NULL,
'',
(
INSERT INTO Table3
VALUES('".(int)$_POST['table1_id']."','".(int)$_POST['table2_id'])."'))
),
);"

我以前没有尝试过,但我相信它会起作用。此外,根据您的 PHP 代码,mysql_real_escape_string($_POST['name'])(int)$_POST['tableX_id'] 位可能需要是略有不同。

关于php - 连接表中的新条目但避免表中重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17047664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com