如何避免重复值使用php进入mysql表

时间:2015-08-17 08:29:05

标签: php mysql

我有一个变量$ Title并包含以下内容:

$Title = aa, bb, cc, dd, ee, ff
$Pubdate = aa, bb, cc, dd, ee, ff
$Link = aa, bb, cc, dd, ee, ff

我将其插入表中,列名为Title。 (到目前为止很简单)

但是,变量每1小时更新一次,例如可能会变为此。

$Title = cc, dd, ee, ff, gg, hh
$Pubdate = cc, dd, ee, ff, gg, hh
$Link = cc, dd, ee, ff, gg, hh


仅供参考:$Title的“aa”值与$Pubdate$Link的“aa”值不同,但彼此相关联 我想知道是否有办法避免重复值再次进入表中,因此只有'gg'和'hh'进入。
我知道如果你指定一个值,你就可以轻松地做到这一点,例如

INSERT IGNORE INTO ytable (Title, Pubdate, Link) VALUES ('aa','aa');

但是当它更新时,我不确定下一个值是什么,所以我需要你的帮助。

1 个答案:

答案 0 :(得分:2)

您需要在数据库上设置UNIQUE约束。这样,每当您尝试插入具有相同值的行时,数据库都会拒绝该行。

以下是您可能需要调整的示例查询:

ALTER TABLE foo MODIFY Title VARCHAR(255) NOT NULL UNIQUE;

这可确保当您尝试插入没有唯一Title值的行时,数据库会发出抗议。