我想只更新一个字段,如果它引用其他表的特定ROW

时间:2016-09-21 18:25:10

标签: mysql sql join

我有3张桌子,"汽车","元素"和" element_status" (例如)。我无法修改SQL结构。这是代码:

CREATE TABLE cars(
    idCar VARCHAR(60) NOT NULL,

    CONSTRAINT PK_cars_idCar PRIMARY KEY (idCar));


CREATE TABLE elements(
    idElement VARCHAR(30) NOT NULL,
    idCar VARCHAR(60) NOT NULL,

    CONSTRAINT FK_elements_idCar FOREIGN KEY (idCar) REFERENCES cars(idCar),
    CONSTRAINT PK_elements_idElement_idCar PRIMARY KEY (idElement, idCar));


CREATE TABLE element_status(
    idElement VARCHAR(30) NOT NULL,
    status BOOLEAN NOT NULL,

    CONSTRAINT FK_status_idelement FOREIGN KEY (idElement) REFERENCES elements(idelement),
    CONSTRAINT PK_status_idElement PRIMARY KEY (idElement));

所以,这是情节。每个元素在element_status中都有一行。每个element_status行引用一个元素,该元素引用一个汽车。

所以我在" element_status" idElement ="引擎"和status = FALSE。该引擎引用了"元素"用,比如说,idCar =" car_1234"。但那里有很多引擎,每一个都指向它的车。

我需要在" element_status"中更新状态为TRUE。发动机的idCar =" car_1234"我需要帮助。我的想法说它应该很简单,(我猜的是子查询),但实际上我不知道该怎么做。

谢谢!

0 个答案:

没有答案