![](/img/trans.png)
[英]How can I combine data from form and from three mysql tables to insert data in another table with php?
[英]In MySql, how do I insert data into a table that references three other tables, and then select that data?
我有一個appointment
表,該表引用了其他三個表: counselor
, client
和room
。 我需要將這三個表中的數據插入appointment
表中。 我創建了appointment
表,如下所示:
create table appointment(
AppointmentID int default next value for NDFCID primary key,
CounselorID int not null references counselor,
ClientID int not null references client,
RoomNumber int not null references room,
AppointmentDate date,
StartTime time(0),
Duration varchar(50)
);
在將數據插入到其他三個表中之后,我想將數據插入到約會中,這就是我到目前為止所擁有的:
insert into appointment(counselor.firstName, client.firstName, room.RoomName, AppointmentDate,StartTime,Duration)
values
('Audrey', 'Sarah', 'Clear sky', '10/1/2014', '8:00:00', '90');
有什么方法可以使我不必將字符串名稱硬編碼到插入中,而只需從表中引用它們嗎? 我想在appointment
插入許多值。 插入后,如何選擇要顯示的數據? 我應該在insert語句中選擇所有內容並將其加入,還是會在之后出現?
您可以使用SELECT
語句從其他具有特定名稱的表中獲取ID。
INSERT INTO appointment (CounselorID, ClientID, RoomNumber, AppointmentDate, StartTime, Duration)
SELECT c.id, cl.id, r.roomNumber, "10/1/2014", "8:00:00", "90"
FROM counselor AS c
CROSS JOIN client AS cl
CROSS JOIN room AS r
WHERE c.firstName = "Audrey"
AND cl.firstName = "Sarah"
AND r.roomName = "Clear sky"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.