0

大家好,我的脚本有问题

$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 约束,但我希望链接是唯一的,长度超过 125 个字符。

4

1 回答 1

1

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

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

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

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

于 2012-11-14T18:31:39.930 回答