在现有的MySQL表中添加唯一的ID

雷吉
visitors table
-------------------------------------------------------
id(auto_incr.) | ip | isp | count | time | (isp_id)
-------------------------------------------------------

我有这个MySQL表,其中包含所有唯一的IP地址和IP访问我的网站的次数,包括其他IP信息,例如ISP,时间等。

如何添加另一个称为isp_id的,我们将为每个ISP唯一?

例如,如果某个特定的ISP存在10次,则这些ISP的isp_id将相同,如果另一个ISP存在2次,则isp_id将增加1。

我怎样才能做到这一点?

对不起,我的英语不好。我来自阿尔巴尼亚。

布莱恩·德米利亚(Brian DeMilia)

涉及几个查询,您可以在此处查看演示:http : //sqlfiddle.com/#!2/e87cd/1/0

简而言之,步骤1是创建一个表来保存ISP(每个ISP一行):

create table isps (
   id int not null auto_increment,
   isp_name varchar(20),
  primary key (id)
);

您要基于当前访问者表上的ISP来填充该表,如下所示:

insert into isps
  (isp_name)
  select distinct isp from visitors;

然后将isp_id列添加到VISITORS表中,如下所示:

alter table visitors add column isp_id int;

然后更新您的VISITORS表,以包括与ISPS表的行关联的ISP_ID值:

update visitors v
   set v.isp_id =
       (select i.id from isps i where i.isp_name = v.isp);

完成上述操作后,我也建议删除VISITORS表的当前ISP列,并仅保留上面刚刚添加的ISP_ID字段。您始终可以加入ISPS表以获取给定ISP_ID的名称。

为此,请运行:

alter table visitors drop column isp;

如您所见,只需在那时加入就足够了,而且您不再有多余的数据,例如:http : //sqlfiddle.com/#!2/1e7d6/1/0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为现有的mysql表分配唯一的默认值

来自分类Dev

从现有的两列python创建唯一的ID

来自分类Dev

将2000自动完成字段记录添加到现有的mysql表中

来自分类Dev

我如何通过迭代向现有表添加唯一ID

来自分类Dev

向表中添加具有唯一列的行:获取现有ID值以及新创建的ID值

来自分类Dev

在表中添加唯一键/索引及其对现有记录的影响

来自分类Dev

从CSV导入列到现有的MySQL表中

来自分类Dev

如何在包含记录的MySQL中为现有表创建唯一索引

来自分类Dev

向现有的复合唯一键添加新列

来自分类Dev

向现有的复合唯一键添加新列

来自分类Dev

在代码首次迁移中向具有现有行的表添加唯一索引时处理重复项

来自分类Dev

在现有的MDX中添加列

来自分类Dev

在现有的 <li> 中添加 <ul>

来自分类Dev

改变现有的唯一约束

来自分类Dev

将文本字符串添加到现有的mySQL表

来自分类Dev

将一张以上的表合并到一张现有的表中

来自分类Dev

如何将新的列族添加到现有的HBase表中?

来自分类Dev

如何使用EPPlus将新工作表添加到现有的Excel文件中?

来自分类Dev

尝试将数组列添加到现有的Postgres表中

来自分类Dev

如何将表头添加到现有的jasper表组件中?

来自分类Dev

是否可以将csv文件中的数据附加到现有的mysql表中

来自分类Dev

是否可以将csv文件中的数据附加到现有的mysql表中

来自分类Dev

在多列上没有唯一ID的MYSQL Join表

来自分类Dev

MYSQL联接表在多个列上没有唯一的ID

来自分类Dev

使用在基于集合的插入过程中创建的ID更新现有的临时表

来自分类Dev

在现有表中添加一行

来自分类Dev

如何向现有表添加不为空的唯一列

来自分类Dev

将工作表添加到现有的Excel工作表中而不删除其他工作表

来自分类Dev

我如何在现有的python函数中添加一行代码

Related 相关文章

  1. 1

    为现有的mysql表分配唯一的默认值

  2. 2

    从现有的两列python创建唯一的ID

  3. 3

    将2000自动完成字段记录添加到现有的mysql表中

  4. 4

    我如何通过迭代向现有表添加唯一ID

  5. 5

    向表中添加具有唯一列的行:获取现有ID值以及新创建的ID值

  6. 6

    在表中添加唯一键/索引及其对现有记录的影响

  7. 7

    从CSV导入列到现有的MySQL表中

  8. 8

    如何在包含记录的MySQL中为现有表创建唯一索引

  9. 9

    向现有的复合唯一键添加新列

  10. 10

    向现有的复合唯一键添加新列

  11. 11

    在代码首次迁移中向具有现有行的表添加唯一索引时处理重复项

  12. 12

    在现有的MDX中添加列

  13. 13

    在现有的 <li> 中添加 <ul>

  14. 14

    改变现有的唯一约束

  15. 15

    将文本字符串添加到现有的mySQL表

  16. 16

    将一张以上的表合并到一张现有的表中

  17. 17

    如何将新的列族添加到现有的HBase表中?

  18. 18

    如何使用EPPlus将新工作表添加到现有的Excel文件中?

  19. 19

    尝试将数组列添加到现有的Postgres表中

  20. 20

    如何将表头添加到现有的jasper表组件中?

  21. 21

    是否可以将csv文件中的数据附加到现有的mysql表中

  22. 22

    是否可以将csv文件中的数据附加到现有的mysql表中

  23. 23

    在多列上没有唯一ID的MYSQL Join表

  24. 24

    MYSQL联接表在多个列上没有唯一的ID

  25. 25

    使用在基于集合的插入过程中创建的ID更新现有的临时表

  26. 26

    在现有表中添加一行

  27. 27

    如何向现有表添加不为空的唯一列

  28. 28

    将工作表添加到现有的Excel工作表中而不删除其他工作表

  29. 29

    我如何在现有的python函数中添加一行代码

热门标签

归档