添加唯一索引,。存在数据重复问题

要将 MySQL 中的两个字段合并为一个字段,并将结果存储到该字段中,可以使用 CONCAT() 函数。假设您有一个名为 table_name 的表,其中包含两个字段 field1 和 field2,您想要将它们合并并将结果存储在 merged_field 字段中,可以按照以下步骤进行操作:

  1. 首先,确保 table_name 表中已经存在 merged_field 字段。如果还没有该字段,您可以使用 ALTER TABLE 语句添加它。

sql复制代码
  ALTER TABLE table_name ADD COLUMN merged_field VARCHAR(255);
  1. 使用 UPDATE 语句将 field1 和 field2 的值合并到 merged_field 中。使用 CONCAT() 函数来连接两个字段的值,并将结果赋值给 merged_field

sql复制代码
  UPDATE table_name SET merged_field = CONCAT(field1, ' ', field2);

在上述示例中,我使用了一个空格作为两个字段之间的分隔符。您可以根据需要更改分隔符。
3. 确保更新操作成功执行。您可以运行以下查询来验证更新结果:

sql复制代码
  SELECT * FROM table_name;

这将显示表中的所有记录,包括合并后的 merged_field 字段。

请注意,以上操作将永久更改表中的数据。如果您只是想在查询结果中合并字段,而不是永久更改数据,可以省略第一步和第二步,直接在查询中使用 CONCAT() 函数来合并字段:

sql复制代码
  SELECT CONCAT(field1, ' ', field2) AS merged_field FROM table_name;

这将返回一个包含合并字段的结果集,而不会更改表中的数据。

 

 

-----------------------------------------分割线----------------------------------------------------------------------------------

 

如果存在无法删除数据 则可以使用以下方法MYSQL

更改值  为 跟另外一个唯一字段的合并值


1.备份原表
create table mjm_route_bk
as
select* from mjm_route

2.制作临时表

create table t2
as
select id,route_name,count(*) from mjm_route group by route_name
having count(route_name)>1
order by count(route_name) desc

3.更改数据

update mjm_route set route_name=CONCAT(route_name,'',id )
where route_name in
(select route_name from t2)


4。添加索引

alter table mjm_route add UNIQUE(route_name);

5.进行验证
select route_name,count(*) from mjm_route group by route_name
having count(route_name)>1

 

 

-----如果没有合适的字段合并,可以添加一个字段,设置唯一值 在进行更改字段合并

 

 

ORACLE________________

select t.index_name,
t.tablespace_name,
t.initial_extent,
t.next_extent,
t.owner,
t.TABLE_OWNER,
t.table_name,
t1.column_name
from all_indexes t
left join all_ind_columns t1 on t1.index_name = t.index_name
where t.table_name like '%PBV%';

 

-创建索引

select 'create index ' || substr( TABLE_NAME,0,25) || '_idx'||id || ' on ' || TABLE_NAME || ' ( '||column_name||'); '
from (
select table_name , column_name , row_number() over(partition by table_name order by column_name ) id
from user_tab_columns where table_name like 'LDN%' ) ;

 

posted @ 2023-09-12 14:55  不会游泳的鱼丶  阅读(17)  评论(0编辑  收藏  举报