2015-05-13 33 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 = '账单' 和检查