1

我有两个输入:

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'(ie <option value = "01"> Apple </option>) 插入一个名为的关联表中'Baskets_Fruits'

我的表结构:

篮子表:

篮子 ID -> AUTO_INCREMENT int(11),非空

篮子名称-> varchar(255)

BASKETS_FRUITS表:

basketID_FK -> 篮子表中“basketID”的外键

fruitID_FK -> Fruits 表中“fruitID”的外键

水果表:

fruitID_FK -> AUTO_INCREMENT int(11),非空

水果名称-> varchar(255)

basketID_FK如果basketID引用的是AUTO-INCREMENTED ,我如何获得电流?我不太确定如何编写 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"and"Bar"语法会是什么样子?

4

1 回答 1

0

像这样的东西会起作用吗?这显然是在插入之后,然后你可以操作你想要的任何东西。

SELECT * FROM BASKETS
INNER JOIN BASKETS_FRUITS ON basketID = basketID_FK
WHERE basketName = 'whatever the basket name is'

这将根据特定的 basketName 为您提供密钥,然后如果需要,您可以在其中找到 fruitID_FK。

于 2017-10-24T18:03:25.967 回答