可能重复:
使用同一表中另一行的数据更新行
我创建了表格
create table myTable (id INT, myData varchar(20));
Run Code Online (Sandbox Code Playgroud)
我有价值观
insert into myTable VALUES
(1, 'Value 1'),
(2, 'Value 2'),
(3, 'Value 3');
Run Code Online (Sandbox Code Playgroud)
现在我插入一行作为
insert into myTable (id) values (4);
Run Code Online (Sandbox Code Playgroud)
现在我想插入id 4的数据.id 4的值与id 3相同.所以我相信我需要使用UPDATE语句.
我在下面试过,但是不行.
update myTable SET myData=(select myData FROM myTable WHERE id=3) WHERE id=4;
Run Code Online (Sandbox Code Playgroud)
请告诉我需要做什么.
实际上我的myData类型为MEDIUMBLOB,但是出于演示目的,我使用了varchar.
jue*_*n d 10
在MySQL中,您无法更新您选择的同一个表.这导致了错误
您无法在FROM子句中为更新指定目标表'myTable'
但你可以这样欺骗MySQL
update myTable
SET myData=(select * from (select myData FROM myTable WHERE id=3) x)
WHERE id=4;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8789 次 |
| 最近记录: |