防止重复条目mysql

时间:2012-11-14 18:26:59

标签: php mysql foreach

大家好,我的脚本有问题

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'root';
$dbname = 'site';
  $con = mysql_connect($dbhost, $dbuser, $dbpass);
    if (!$con)
    {
    die(mysql_error());
    }
mysql_select_db($dbname, $con);
$sql = "REPLACE INTO stiri (id, titlu, continut, link, categorie, data) VALUES   ('','$titlu','$text','$link','Liga 1','$data')"; 
mysql_query($sql);
mysql_close($con);

这部分是在php foreach部分,每次运行脚本我都会重复输入,我该如何防止这种情况? 我可以使用UNIQUE Con​​straint,但我希望链接是唯一的,超过125个字符..

1 个答案:

答案 0 :(得分:1)

我猜id是您桌上的主要关键字段?您正在尝试将空字符串('')插入其中。如果那是一个INT字段,mysql会将''转换为0.在第一次这样的插入之后,你将遇到重复的密钥问题。

id更改为auto_increment字段,并插入null值,例如

REPLACE INTO stiri (id, ...) VALUES (null, ....)

所以mysql可以自动为你生成一个ID。