Значение MySQL UPDATE в SQLfiddle
Я только начал на SQL, и до сих пор я сделал это, и это работает
CREATE TABLE employees(employee_ID int NOT NULL, name varchar(20) NOT NULL UNIQUE,
PRIMARY KEY (employee_ID)
);
INSERT INTO employees VALUES(1, 'Adam Jones');
INSERT INTO employees VALUES(2, 'Amy Smith');
INSERT INTO employees VALUES(3, 'Anthony Wright');
CREATE TABLE department(department_ID varchar(20) NOT NULL,
department_name varchar(20) NOT NULL, head_of_dep varchar(20),
num_of_employees_in_dep int
);
INSERT INTO department VALUES('Bad At SQL Ltd', 'Need Help HQ', 'No One Yet', 3);
Но я не могу понять, почему это не сработает
UPDATE department SET head_of_dep = name FROM employees WHERE employee_ID = 1
Что я делаю неправильно?
Использование SQLfiddle и MySQL 5.5.32
1 ответ
Решение
Вам нужно переписать его
UPDATE department SET head_of_dep = (SELECT name FROM employees WHERE employee_ID = 1)
потому что вы на самом деле должны SELECT
Значение