3
這是我的表:(唯一的主鍵是alias
)更新,如果記錄不以MySQL數據庫存在
$sql = "CREATE TABLE IF NOT EXISTS Articls
(
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(254) COLLATE utf8_persian_ci NOT NULL,
alias INT(10) UNSIGNED NOT NULL, # alias name for url
title VARCHAR(254) NOT NULL COLLATE utf8_persian_ci NOT NULL,
UNIQUE (alias)
) DEFAULT COLLATE utf8_persian_ci";
所以我想插入新記錄到數據庫,如果alias
不存在該表或更新表,如果以前別名已經存在。
我試過沒有成功。
$sqlname = "name,alias,title";
$sqlValue = "'".$node['name']."','".$node['alias']."','".$node['title']."'";
$sql = "INSERT INTO Articls (".$sqlname.")
VALUES (".$sqlValue.")
ON DUPLICATE KEY UPDATE
(".$sqlname.") VALUES (".$sqlValue.")";
我也試過這個代碼沒有成功......它只是創建了一個新的記錄,並且不更新:
$sql = "INSERT INTO Articls (".$sqlname.")
VALUES (".$sqlValue.")
ON DUPLICATE KEY UPDATE title = 'test',alias = '".$node['alias']."'";
謝謝。但它不起作用。請檢查我的編輯。 –
「不起作用」意味着什麼:報告錯誤情況,而不是 – fantaghirocco
...並且在插入或更新字符串時總是使用'mysql_real_escape_string' – fantaghirocco