大家好,我的脚本有问题
$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 Constraint,但我希望链接是唯一的,超过125个字符..
答案 0 :(得分:1)
我猜id
是您桌上的主要关键字段?您正在尝试将空字符串(''
)插入其中。如果那是一个INT字段,mysql会将''
转换为0.在第一次这样的插入之后,你将遇到重复的密钥问题。
将id
更改为auto_increment字段,并插入null
值,例如
REPLACE INTO stiri (id, ...) VALUES (null, ....)
所以mysql可以自动为你生成一个ID。