MySQL美国参议员名单数据库设计

发布于 2024-12-11 17:18:52 字数 246 浏览 0 评论 0原文

我正在设计一个表格,仅保存现任美国参议员的列表和一些相关信息(其中大部分信息是我从出色的纽约时报国会 API 中获得的)。为代表创建表很容易,因为我刚刚在他们的区号上创建了一个主键。不过,这让我很困惑。

我需要每晚更新此表中的信息,并将执行INSERT...ON DUPLICATE KEY UPDATE

关于如何设计这个有什么想法吗?

I'm designing a table that simply keeps a list of current US Senators and some related information (much of which I'm getting from the awesome NY Times Congress API). Creating the table for Representatives was easy, because I just created a PRIMARY KEY on their state and district number. This has stumped me, though.

I need to be updating the information in this table nightly, and will be doing an INSERT...ON DUPLICATE KEY UPDATE.

Any thoughts on how to go about designing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

热情消退 2024-12-18 17:18:52

使用 UPDATE 而不是插入,首先通过查询复合键值来检查记录是否存在。

您没有说明您正在使用什么数据库,但 SQL Server 2008 有一个 MERGE 语句可以非常轻松地完成此操作。

Use an UPDATE rather than an insert, checking first if the record exists by querying for the composite key values.

You don't say what database you're using, but SQL Server 2008 has a MERGE statement that accomplishes this very easily.

oО清风挽发oО 2024-12-18 17:18:52

如果问题是使用什么作为主键,为什么不将名字、姓氏和州作为主键呢?该公约适用于参议员和众议员。

If the question is what to use for the primary key, why not make the primary key on the first name, last name, and state? That convention could be used for both senators and representatives.

场罚期间 2024-12-18 17:18:52

不要使用 INSERT 来更新现有数据,而使用 UPDATE 和您的 PK 来更新现有数据。

你在其他地方说你在选择PK时遇到困难,因为每个州都有两名参议员,而你不知道如何区分他们。美国参议员分为三个类别,并且来自一个州的两名参议员不会属于同一类别,因此你的PK可能是状态和阶级。

Don't use INSERT to update existing data, use UPDATE and your PK for that.

You say elsewhere that you're having trouble choosing a PK because each state has two senators and you don't know how to differentiate them. US senators are grouped into three classes and no two senators from a single state are in the same class so your PK could be state and class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文