我有两个输入:

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。

09-25 16:08