我有两个输入:
Basket Name: <input type="text">
和
Fruits<select name="fruits">
// Some java code that populate my drop down list from a SELECT sql
// that is pulling from my database table called 'Fruits'
// i.e. <option value='SELECT fruitID FROM fruits'> 'SELECT fruitName FROM fruits' </option>
...
</select>
我想在提交
<form>
的同时执行以下两个SQL插入:SQL 1:将
'Basket Name'
插入到名为'Baskets'
的表中;SQL 2:将
'fruitID'
(即<option value = "01"> Apple </option>
)插入到名为'Baskets_Fruits'
的关联表中我的表结构:
BASKETS表:
basketID-> AUTO_INCREMENT int(11),不为NULL
basketName-> varchar(255)
BASKETS_FRUITS表:
basketID_FK-> Baskets表中“ basketID”的外键
fruitID_FK-> Fruits表中“ fruitID”的外键
水果表:
fruitID_FK-> AUTO_INCREMENT int(11),非空
fruitName-> varchar(255)
如果引用的
basketID_FK
是自动增加的,我如何获得当前的basketID
?我不太确定如何编码SQL语法以获取AUTO-INCREMENTED列的值。编辑:
我是否做类似的事情:
INSERT INTO baskets_fruits (basketID_FK, fruitIDFK)
(SELECT baskets.basketID, fruits.fruitID FROM baskets, fruits
WHERE baskets.basketID = "Foo" AND fruits.fruitID = "BAR");
但是
"Foo"
和"Bar"
语法是什么样的? 最佳答案
这样的事情行吗?显然,这将在插入之后,然后您可以操纵之后想要执行的任何操作。
SELECT * FROM BASKETS
INNER JOIN BASKETS_FRUITS ON basketID = basketID_FK
WHERE basketName = 'whatever the basket name is'
这将基于特定的basketName为您提供密钥,然后您可以在其中找到所需的fruitID_FK。