【问题标题】:the unique ID primary key within SQL - can it be auto assignedSQL 中的唯一 ID 主键 - 可以自动分配吗
【发布时间】:2018-05-18 04:07:41
【问题描述】:

我正在寻找有关以下内容的一些建议...

关于“天气预报”

我有一个 csv 文件,其中包含(今天的)日期、时间(预测)日期、时间、温度预测的列

A 列将有几行包含今天的日期和 B 列:获取预报的时间,然后每行包含未来 24 到 36 小时的每小时温度预报,其中一列是开始时间,一列是结束时间,然后是预测温度。

此 csv 每天自动附加。

我想将此 csv 文件导入 sql,然后保持此 sql 数据库更新。

重新审视(每日)csv 文件 - 没有一个非常好的唯一 ID

没有一列是唯一的。

我正在使用 MYSQL(工作台)。

我正在寻找一些建议:

MySQL 可以自动处理唯一的主键吗?

我看到我可以手动添加一列序列号(现在/一次)并导入 MySQL

但是明天等当 csv 被追加时呢,

是否有更自动化的方式来处理唯一的主键?

接下来,是否考虑将整个过程自动化或半自动化? - 使用附加 csv 中的天气预报数据更新 SQL 数据库? 谢谢

【问题讨论】:

  • 这个问题太长了。
  • Google for MySQL AUTOINCREMENT,您应该会找到所需的一切!
  • 是的。这是自动增量。但是..您的密钥也可以是复合的,例如 A 列、B 列、C 列、D 列描述您的独特记录。似乎这将是一个更明智的选择来强制唯一性,对吧?
  • 日期时间似乎是一种可能性
  • 谢谢大家 - 我不能只使用日期 - 我有几行具有相同的日期 - 我将阅读 AUTOINCREMENT 并追逐连接(复合)一些列身份证

标签: mysql sql


【解决方案1】:

在这里查看自动增量。

https://www.w3schools.com/sql/sql_autoincrement.asp

类似这样的:

CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

您需要使用:AUTO_INCREMENT

明智的做法是为每一行使用一个唯一的 ID,并且为了调用目的,您可以使用其他键。

【讨论】:

  • @Strawberry 是的,我知道。推荐w3学校不是一个好主意。但我只是想让他学习auto_increment 的基础知识。而且我一直觉得主键中应该只有一列,这样调用一行变得更容易,这样查询的复杂性也会降低。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-28
  • 2023-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多