MYSQL刪除某個字段多餘重覆記錄

2021-05-22 17:28:31 字數 1495 閱讀 9176

sells表資訊

create table `sells` (

`id` int(11) not null auto_increment,       #唯一id

`name` varchar(50) not null, #姓名

`phone` varchar(10) not null,#**

`project` varchar(50) not null,#專案名

`summay` text not null,#簡介

`email` varchar(50) not null,#郵箱

`mobile` varchar(20) not null,#手機

`bangdin` tinyint not null default '0',#是否繫結

`bang_id` int not null ,#繫結人

`level` tinyint not null ,#級別 a:1 b:2 c:3 d:4 d無效

`notes` text null,#備註

`notestime` datetime null,#備註時間

`pingjiid` int not null,#評級人id

`createtime` datetime not null ,#錄入時間

`edittime` datetime not null,#編輯時間

primary key (`id`)

)engine=innodb default charset=utf8;

delete `sells`

from `sells`,

(select * from sells a where  exists(select 1 from sells where a.project = project and a.id刪除sells表中"未繫結記錄資訊" 中 "project值相同" 的 "多餘重複的記錄" 。

執行以下語句時:

delete sells from sells ,(select id from sells where `bangdin` =0 and project in (select project from sells where `bangdin` =1)) as tmp where sells.id=tmp.id

出現錯誤:you can't specify target table 'sells' for update in from clause

意思是:不能先select出同一表中的某些值,再update這個表(在同一語句中) 。mysql中不能這麼用。

改為:delete sells from sells ,(select id from sells where `bangdin` =0 and project in (select project from sells where `bangdin` =1)) as tmp where sells.id=tmp.id

即可。功能:刪除未繫結資訊中project值與已繫結資訊中project值相同的記錄。

今記於此,以備後用。

Postgresql去掉某個字段多餘的空格

postgresql中通過指令碼加入資料時,因編碼等問題導致插入的資料中包含空格,使資料出錯,為解決這一問題使用trim 函式。trim 函式 用來刪除資料前後的空格。rtrim 函式 用來刪除資料前的空格。ltrim 函式 用來刪除資料後的空格。本人遇到問題所解決的方案 update keywor...

mysql 替換某個欄位中的某個字元

遇到這麼個情況 比如 msql裡面的某個表的某個字段裡面儲存的是乙個人的位址,有一天這個位址的裡面的某個地 名變了,那麼他的位址也就要變 比如 原來是 csharp view plain copy number addr 01 四川省成都市 街道05號 02 四川省成都市 街道07號 03 四川省成...

mysql替換某個欄位中的某個字元

比如 msql裡面的某個表的某個字段裡面儲存的是乙個人的位址,有一天這個位址的裡面的某個地 名變了,那麼他的位址也就要變 比如 原來是 number addr 01 中國浙江 02 中國浙江 03 中國浙江 現在位址改了 浙江 搬到了 上海 所以,addr欄位裡面的所有的值,都要把 浙江 改為 上海...