2015-05-13 36 views
1

我試圖運行一個查詢使用PHP到數據庫中,我需要檢查客戶address是否已經存在然後不插入,但如果不存在然後插入表中,我已經基於它圍繞以下幾個:SQL不存在插入

$query = "INSERT INTO address(id,address_type) 
    SELECT('1111','bill')FROM DUAL 
    WHERE NOT EXISTS 
     (SELECT * FROM address 
     WHERE id='1111' AND address_type='bill')"; 

$n = mysql_query($query, $connect) or die(mysql_error()); 

這讓我插入只是id但不是address_type。 我將有相同的idbill & ship地址做出一個獨特的領域是不可能的。

我有大約8個域插入,我做錯了什麼?

+0

什麼是address_type場的大小?我注意到你正試圖在內部查詢中的address_type爲「bill」的地方插入「billing」。 –

+0

您是否沒有自動編號字段,以便您可以選擇唯一值? – Machavity

+3

你的問題沒有意義。你插入到一個表中,但檢查是否存在另一個表中。 –

回答

0
$query = "INSERT INTO address(id,address_type) 
    SELECT('1111','bill')FROM DUAL 
    WHERE NOT EXISTS 
     (SELECT * FROM address 
     WHERE id='1111')"; 

刪除address_type = '賬單' 和檢查