多列上的MySQL主键

标签 mysql

我正在根据以 exel 格式提供给我的数据创建一个非常简单的数据库表,我将使用 4 列:

日期/时间 IP地址 主机名 已识别漏洞

我通常每天得到一张 exel 表,任何内容都在 1000 到 3000 行之间。日期/时间字段由 YYYYMMDDHHMM 组成,可以重复多次,但每个相同的日期/时间列都应该有一个唯一的 IP 地址,例如2012-08-26:16:01、80.3.3.255、2012-08-26:16:01、192.168.0.1。回顾了一些类似的问题,是为每条记录生成一个唯一的主键更有效,还是加入日期/时间和 IP 列来创建主键?

最佳答案

这至少取决于两个角度:

  • 关于稍后用于选择的WHERE 标准:如果您打算通过时间戳和 IP 独立选择,我建议您为这些创建非唯一键和一个简单的(可能是 AUTO_INCREMENT) 每行的主要内容。
  • 如果确实出现重复的时间戳/IP,您希望如何处理它:唯一键或主键可以排除这种情况,而单独的键可以愉快地共存。这取决于您的应用要求,您更喜欢哪一个。

关于多列上的MySQL主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12993522/

相关文章:

java - MyBatis 插入关联

php - 从php中的单个表单上传多个图像以及文本字段

mysql - 类型错误 : nil is not a symbol

php - 如何让我的 friend 在大型数据库上进行 mysql 查询?

php - mysql_query 中变量的通配符运算符

java - 使用 mysql 分割 .csv 文件

php - 在 mysql 数据库中搜索,结果有限

mysql - SQL如何选择参数的父id或id(如果没有父)

php - 如何按单个顺序对 mySQL 结果进行排序?

php - 使用 XAMPP 时没有选择数据库错误