我是mysql的新手,我写了这个php脚本,它在mysql数据库表中创建了一个新行,它运行正常,但它添加了这一行而不管它是否存在。我需要的是我的脚本检查表中的“用户名”列,如果我们没有这样的用户名将整行添加到表中,如果我们有这样的用户名只更新“Minutes”列。在此先感谢。
<?PHP
$user_name = "root";
$password = "12345i";
$server = "localhost";
$database = "maz_database";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
$SQL = "INSERT INTO maz_table (Username,Password,Email_address,Address,Minutes,Tags) VALUES('maz','pass','maz@yahoo.com','london',2000,'')";
$result = mysql_query($SQL);
mysql_close($db_handle);
print "Records added to the database";
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
?>
答案 0 :(得分:1)
您需要添加ON DUPLICATE KEY UPDATE
以指定记录已存在时要执行的操作。
示例:
INSERT INTO maz_table (Username,Password,Email_address,Address,Minutes,Tags)
VALUES ('maz','pass','maz@yahoo.com','london',2000,'')
ON DUPLICATE KEY UPDATE Minutes = $minutesvariable
用户名是您的主键。