0

我正在通过 PHP 脚本将计划项目导入数据库。这些项目具有如下 XML 结构:

<item>
  <date>1/1/2012</date>
  <time-start>1:00</time-start>
  <time-end>2:00</time-end>
  <title>One</title>
</item>
<item>
  <date>1/1/2012</date>
  <time-start>2:00</time-start>
  <time-end>3:00</time-end>
  <title>Two</title>
</item>

我会将每个项目作为记录添加到数据库中。出现问题是因为我没有每个项目的唯一行 ID,所以当我稍后下载和导入项目时,我会制作重复记录。

我的第一个解决方案是在添加每个项目之前进行测试,如果在某个日期和项目安排了标题。一次导入数百条记录似乎需要很多处理,而许多记录将重复。

我应该在 WHERE 子句中使用第一个项目的日期和开始时间以及最后一个项目的日期和开始时间来创建一个项目数组来检查每个新导入的项目吗?

4

1 回答 1

1

如果日期、开始时间和结束时间的组合应该是唯一的,您可以在数据库中设置包含多行的唯一索引。

请注意,如果您的一个或多个列允许 NULL 值,则不能使用它。可以添加多个具有相同其他值和一个 NULL 值的行,因为 NULL !== NULL 在数据库逻辑中。

于 2012-10-08T19:55:27.660 回答