我刚刚开始使用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
发布于 2014-10-24 14:13:20
你需要重写它
UPDATE department SET head_of_dep = (SELECT name FROM employees WHERE employee_ID = 1)因为您实际上必须使用SELECT值
https://stackoverflow.com/questions/26549644
复制相似问题