SQL 二 刪除欄位名相同的資料並保留其中一條

2021-08-27 05:02:24 字數 1104 閱讀 5560

相同的字段(cainame)有好幾條資料,表名是answer
sql語句:select cainame,id from answer where cainame = "菠蘿炒飯";

sql語句:select id from answer where cainame = "菠蘿炒飯"

group

by cainame;

sql語句:delete

from answer where id in(**select a.id from(**select id from answer a where a.cainame = "菠蘿炒飯"**)a**) and id not

in (select b.id from (select

`id`

from answer b where b.cainame = "菠蘿炒飯"

sql語句:select cainame,id from answer where cainame = "菠蘿炒飯";

在第三步的** **部分是需要填寫的不填寫的話就會報錯

you can't specify target table '表名' for update in from clause

所以要加上 加粗的部分

解決辦法

借鑑別人的解決辦法有解釋

只在命令列測試成功 只適合mysql

這裡有除mysql之外的解決辦法

SQL增加 刪除 更改表中的欄位名

1.向表中新增新的字段 alter table table name add column name varchar2 20 not null 2.刪除表中的乙個字段 delete table table name column column name 3.修改表中的乙個欄位名 alter tabl...

SQL查詢表,表的所有欄位名

sql server 檢視所有表名 select name from sysobjects where type u 查詢表的所有欄位名 select name from syscolumns where id object id 表名 select from information schema....

oracle 解鎖,修改欄位名,複製資料SQL

鎖表查詢的 有以下的形式 select count from v locked object select from v locked object 檢視哪個表被鎖 select b.owner,b.object name,a.session id,a.locked mode from v lock...