如何解决MySql错误-删除具有优先级的重复行 前信息过程问题必需的输出参考
前信息
我的桌子叫Test
:
-- Table Creation
CREATE TABLE Test(
id integer,title varchar (100)
);
-- Insertion
INSERT INTO Test Values
(1,"Hi"),(2,'Hello'),"Hellew"),(3,"World"),"Wordy");
测试表
| Id | title |
|----|--------|
| 1 | Hi |
| 2 | Hello |
| 2 | Hellew |
| 3 | World |
| 3 | Wordy |
过程
我想delete
重复ID
根据 priority
问题
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;
参考
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。