2013-07-23 34 views
-1

我需要一點幫助,我正在處理一個快速腳本。我有3列{name,page1,page2}。當且僅當沒有重複行時,我想插入一個新行。我希望它僅檢查id和page1是否有重複項。MySQL查詢到INSERT IF不存在

對於實施例

行1:1,3,5

行2:1,2,5

行3:2,2,5

BUT NOT

排4:1,3,10

對不起如果這有點令人困惑。

在此先感謝!

編輯:我也想更新page2到+1如果相同的ID已經存在。 -Thanks

+0

'id'是主鍵嗎?如果是這樣,則不能插入重複的「id」。如果您需要在* uniqueness *中包含更多列,請使用唯一約束 – Phil

+0

id不是主鍵。說實話,我應該把它重命名爲'name'之類的東西。但是,不,可以有多行具有相同的'name' /'id' – user1834218

回答

2

試試這個代碼。

$id =$_POST['id']; 
$page_1 =$_POST['page1']; 
$page_2 = $_POST['page2']; 

$query = 'mysql_query(select * from table_name where id='.$id.' and page1 = '.$page.''); 
$result = mysql_num_rows($query); 

if($result == 0){ 
    // enter your insert query 
} 
else{ 
echo 'row is already exit'; 
} 
+0

完美的作品。不知道爲什麼我沒有想到它。 – user1834218

0
INSERT INTO `table_name`(`page1`) 
SELECT page1 
FROM (SELECT page1 AS page) x 
WHERE NOT EXISTS(SELECT page1 FROM `table_name` WHERE `page1` = $value) 

試試這個

+0

對不起,不澄清。如果ID已經存在,我想做'page2 = page2 + 1' – user1834218

+1

@ user1834218,你真的試圖解決它嗎?您的評論對我來說就像您認爲是免費的解決方案服務一樣。 – Devolus

+0

然後將id字段設置爲自動增量,以避免重複的ID字段 –