PHP/MySQL : Insert record if doesnt exist

标签 php mysql

$sql = "INSERT INTO toplist 
       (serverName, serverPassword, serverIp, serverPort, serverBanner,
        serverShortDescription, serverDescription)
       VALUES
       ('$_POST[serverName]', '$_POST[serverPassword]', '$_POST[serverIp]',
        '$_POST[serverPort]', '$_POST[serverBanner]', 
        '$_POST[serverShortDescription]', '$_POST[serverDescription]')";

if (!mysql_query($sql, $con)) {
    die('Error: ' . mysql_error());
}

echo "The server " . $_POST[serverName] . "," . $_POST[serverIp] 
    . " has been added.";

mysql_close($con);

我怎样才能做到,如果条目“serverIp”不存在,它将把它添加到数据库中,如果它已经存在,那么它什么都不做。另外,这也会区分大小写吗?你能通过键入 Like tHiS 来绕过它吗?

最佳答案

INSERT IGNORE ... 如果您的列有唯一约束,则不会插入。如果您希望它不区分大小写,我会在插入之前将字符串小写。

http://dev.mysql.com/doc/refman/5.5/en/insert.html

This may also be helpful.

关于PHP/MySQL : Insert record if doesnt exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9371990/

相关文章:

php - 如何在 PHP 中将日期时间转换为字符串?

php - 在 CentOS 7 上安装 PHP Composer 失败

mysql - 从查询双方获取数据

c# 注册表格 mysql 插入

mysql - 仅允许通过特定应用程序连接 DBMS 用户

php - 如何最好地设置 MySQL 关系数据库?

php - 将数组保存到数据库

php - 如何将数组值推送到 json 字符串中

mysql - 按列类型更新表

mysql - 高效地从 MySQL 查找日期范围