Mysql 使用删除和更新

Mysql 使用删除和更新,mysql,sql,Mysql,Sql,我有三张这样的桌子 CREATE TABLE guest( name varchar(100), ranking int, PRIMARY KEY (name) ); CREATE TABLE room( roomname varchar(100), wallcolor varchar(100), rating int, PRIMARY KEY(roomnane) ); CREATE TABLE reservation( nam

我有三张这样的桌子

CREATE TABLE guest(
    name varchar(100),
    ranking int,
    PRIMARY KEY (name)
);

CREATE TABLE room(
    roomname varchar(100),
    wallcolor varchar(100),
    rating int,
    PRIMARY KEY(roomnane)
);

CREATE TABLE reservation(
    name varchar(100),
    roomname varchar(100),
    day varchar(100),
    moveinday int,
    moveoutday int,
    PRIMARY KEY(roomname, day, start, finish),
    FOREIGN KEY(roomname) REFERENCES room(roomname),
    FOREIGN KEY(name) REFERENCES guest(name)
);
  • 我正试图写一个查询,删除所有没有资格租用任何房间的客人及其预订。符合租赁条件意味着客人等级高于或等于房间等级

    我试过以下方法

    DELETE FROM guests, reservations
    WHERE guests.rating <  rooms.rating
    
    从来宾、预订中删除
    在哪里客人.rating<房间.rating
    
    这不是完成任务。我可能做错了什么?我需要保持引用完整性

  • 我正在尝试将所有“湖”房间更改为“海湾”房间,“海湾”房间更改为“湖”房间,而不明确更改涉及的房间。我怎么能这样做?我尝试使用更新查询,但我不确定如何实现这一点

  • 感谢您的帮助

    删除客人、预订
    
    DELETE FROM guests, reservations
    WHERE guests.rating <  rooms.rating
    
    在哪里客人.rating<房间.rating
    您没有表
    来宾
    。更改为
    guest
    。表
    guest
    没有字段
    rating
    只有
    ranking

    仔细检查你的代码

    应该问两个完全不同的问题,因为。两个不同的问题。这是否也会从预订中删除?如果您有级联选项,它可能会删除。检查并写在这里