PHP/MySQL:如果不存在则插入记录

Hun*_*t3r 4 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);
Run Code Online (Sandbox Code Playgroud)

我怎样才能这样做,如果条目"serverIp"尚不存在,它将把它添加到数据库,如果它已经存在,那么它什么都不做.此外,这也是区分大小写的吗?你是否可以绕过它,因为它有什么好处?

Jos*_*ell 7

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

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

这也可能有所帮助.