简体   繁体   English

更新、加入和 WHERE MySQL

[英]UPDATE, JOIN and WHERE MySQL

I'm currently working on my query.我目前正在处理我的查询。 So I have two tables, tbl_room and tbl_reservation.所以我有两张桌子,tbl_room 和 tbl_reservation。 I wanted to do an update query with the following conditions:我想在以下条件下进行更新查询:

Decrement room counter by 1 in tbl_room if:在 tbl_room 中将房间计数器减 1,如果:

  1. The first and last name of the customer matches the first and last name in the tbl_reservation客户的名字和姓氏与 tbl_reservation 中的名字和姓氏相匹配
  2. The tbl_reservation room ID matches with the tbl_room room ID tbl_reservation 房间 ID 与 tbl_room 房间 ID 匹配

I'm currently stuck with this:我目前坚持这个:

$result = mysql_query("UPDATE 
  tbl_room 
  JOIN tbl_reservation 
    ON tbl_room.roomID = tbl_reservation.roomID 
    AND tbl_reservation.cus_fname = '$cusFN' 
    AND tbl_reservation.cus_lname = '$cusLN' SET tbl_room.reserve = reserve - 1 ");

These are my tables:这些是我的表:

----------
tbl_room
----------
roomID,
room_type,
capacity,
reserve <--- reservation counter


----------
tbl_reservation
----------
reserveID,
cus_fname,
cus_lname,

I already came up with the right query.我已经想出了正确的查询。 Yehey!耶! So I moved my query just after the while statement and used this syntax:所以我在 while 语句之后移动了我的查询并使用了以下语法:

$result6 = mysql_query("UPDATE tbl_room
           JOIN tbl_reservation ON tbl_room.roomID=tbl_reservation.roomID
           AND tbl_reservation.cus_fname='$cusFN'
           AND tbl_reservation.cus_lname='$cusLN'
           SET tbl_room.reserve=tbl_room.reserve-1");

Try this...尝试这个...

$sql = "UPDATE `tbl_room`
SET `tbl_room`.`reserve` = `tbl_room`.`reserve` - 1 
WHERE `tbl_room`.`roomID` = `tbl_reservation`.`roomID` 
 AND `tbl_reservation`.`cus_fname` = '$cusFN' 
 AND `tbl_reservation`.`cus_lname` = '$cusLN'";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM