2014-05-07 41 views
-1

我不試圖運行插入查詢來插入NOW()時間和日期只有當我的表中的證書枚舉值設置爲是。插入查詢,如果mysql的枚舉值設置爲'是'

我的表格有4列'form1_completed','form2_completed','form3_completed','form4_completed' 列將是yes或no。

我使用此查詢,試圖插入當前日期和時間到數據庫中,其插入但它不注重where子句,只是插入反正有人可以告訴我做什麼我錯

$query2 = "IF (SELECT * FROM `supplier_session` WHERE `form1_completed` = 'Yes' AND `form2_completed` = 'Yes' AND `form3_completed` = 'Yes' AND `form4_completed` = 'Yes') INSERT INTO `supplier_session` (`completed_date`) VALUES (NOW()); 
WHERE `user_IP` = '$ipaddress '"; 
+3

'form1_completed' =「是」 – Daan

+0

那麼,你爲什麼插入新價值的同桌,是不是意味着同一行更新? – avisheks

+0

和「WHERE'user_IP' ='$ ipaddress'」屬於哪個表和哪個查詢? – avisheks

回答

0

而不是

WHERE `form1_completed` = Yes 

使用

WHERE `form1_completed` = 'Yes' 
+0

謝謝我修正了這個問題,雖然它仍然插入表格,即使列='不'?爲什麼是這樣? – user3608209

0

我覺得應該是:當子查詢返回任何行

IF EXISTS (SELECT * FROM ...) INSERT INTO ... 

​​是真實的。

或者你可以這樣做:

IF (SELECT COUNT(*) FROM ...) INSERT INTO ...