2017-04-14 19 views
-1

包含1个主键和3个外键的表; Order_ID'Customer_ID','Item_ID','DateTime_ID'我需要向包含1个主键(AUTO_INCREMENT)和3个外键的表中插入数据

现在,由于包含前面的“1主键和3个外键”的行被插入,所以DateTime表被同时更新。

$sql1="INSERT INTO datetime (DateTime_ID, OrderDate, OrderTime) VALUES (NULL, CURRENT_DATE(), CURRENT_TIME())" ; 

但我很努力地找出一个INSERT INTO查询。

这是我到目前为止有:

$sql2="INSERT INTO myorder VALUES ('NULL', menu_item WHERE item_id='$item', customer WHERE Customer_ID='$id' '$sql1')"; 

'$sql1'是同时插入第一个查询猜测。

+1

我不明白你的要求。 –

回答

0

你举的例子是不是真的清楚,但您可以尝试这样的事:

DECLARE p_datetime_id INTEGER; 
DECLARE p_customer_id INTEGER; 
DECLARE p_item_id  INTEGER; 

-- Initialize customer and item 
SET p_customer_id = ...; 
SET p_item_id = ...; 

-- Create datetime element 
INSERT INTO datetime (OrderDate, OrderTime) 
    VALUES (CURRENT_DATE(), CURRENT_TIME()); 
SET p_datetime_id = IDENTITY(); 

-- Create order element 
INSERT INTO myorder (Customer_ID, Item_ID, DateTime_ID) 
    VALUES (p_customer_id, p_item_id, p_datetime_id);