MySql 错误 - 优先删除重复行
MySql Error - Delete Duplicates Rows with priority
前期信息
我 table 打电话给 Test
:
-- Table Creation
CREATE TABLE Test(
id integer,
title varchar (100)
);
-- Insertion
INSERT INTO Test Values
(1, "Hi"),
(2, 'Hello'),
(2, "Hellew"),
(3, "World"),
(3,"Wordy");
测试Table
| Id | title |
|----|--------|
| 1 | Hi |
| 2 | Hello |
| 2 | Hellew |
| 3 | World |
| 3 | Wordy |
进程
我想delete
重复id
基于优先级
问题
这是我得到的输出错误
ERROR 1093 (HY000) at line 5: You can't specify target table 'Test' for update in FROM clause
需要输出
| Id | title |
|----|--------|
| 1 | Hi |
| 2 | Hello |
| 3 | World |
谢谢,
你这里没有说清楚什么是“优先级”。但是查看输出示例,我假设优先级是保留那些大于具有相似 ID 的其他字符串。这是我的代码:
delete a.* from Test a join Test b
on a.id = b.id where a.title < b.title;
select * from Test;
参考
前期信息
我 table 打电话给 Test
:
-- Table Creation
CREATE TABLE Test(
id integer,
title varchar (100)
);
-- Insertion
INSERT INTO Test Values
(1, "Hi"),
(2, 'Hello'),
(2, "Hellew"),
(3, "World"),
(3,"Wordy");
测试Table
| Id | title |
|----|--------|
| 1 | Hi |
| 2 | Hello |
| 2 | Hellew |
| 3 | World |
| 3 | Wordy |
进程
我想delete
重复id
基于优先级
问题
这是我得到的输出错误
ERROR 1093 (HY000) at line 5: You can't specify target table 'Test' for update in FROM clause
需要输出
| Id | title |
|----|--------|
| 1 | Hi |
| 2 | Hello |
| 3 | World |
谢谢,
你这里没有说清楚什么是“优先级”。但是查看输出示例,我假设优先级是保留那些大于具有相似 ID 的其他字符串。这是我的代码:
delete a.* from Test a join Test b
on a.id = b.id where a.title < b.title;
select * from Test;