0

我正在使用向我返回项目的 API,然后将这些项目存储在 MySQL 数据库中。但是,API 不会为每个项目返回唯一的 ID,因此我冒着存储相同项目两次的风险,除非我检查重复项。

我认为防止重复的最有效方法是在 MySQL 中使用唯一索引。但是,由于 MySQL 不能为字符串提供唯一索引,因此我需要将其中一个字符串(可能是 URL)转换为整数以存储在唯一索引列中。我的假设是否正确?我将如何使用 PHP 来完成此任务?

谢谢你。

4

2 回答 2

2

您可以拥有一个索引为 UNIQUE 的 VARCHAR 类型列,但它不会自动递增。然后,您可以使用REPLACE INTO进行更新/插入查询。

或者,您仍然可以将自动递增整数 ID 列与唯一索引 VARCHAR 列结合使用,您只需在 INSERT 查询之前(或之后)检查重复项以处理字符串 ID 重复的情况现有的。

于 2011-09-08T21:49:54.340 回答
1

MySQL 在字符串上具有唯一约束或索引完全没有问题。将字符串作为主键也没有问题。

于 2011-09-08T21:51:24.117 回答