我有三个表,
表1有id(pk)和name表2有id(pk)和category表3是一个连接表,它有id(pk)和两个外键:table1_id (pk来自上述table1)和table2_id (pk来自上述table2)
表单页面有一个输入框(名称)和一个从表2中获取选项的下拉列表。当提交表单时,在Table1.name中输入名称,并使用下拉选项的id和所输入名称的id填充Table3。
一切正常
我正在寻找答案的场景是:
在表单页中,如果输入的名称已经存在于表1中,但是下拉菜单和名称的组合比之前输入的东西唯一,我希望名称不在表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'])."'))
),''
);"
<标题> Table3 h1> 以前没有试过,但我相信它会起作用的。此外,根据您的PHP代码,mysql_real_escape_string($_POST['name'])
和(int)$_POST['tableX_id']
位可能需要稍微不同。
标题>