2014-10-05 54 views
0

我需要使用3和條件在SQL刪除語句,但我無法執行它。 以下情況如何?無法使用刪除查詢多個條件

my $sth = $dbh->prepare("delete form loadcase1 where (projectname='ABC' **and** phase='123e') **and** (impact='impact' **and** loadcase='loadc')"); 

$sth->execute() or die "$!"; 

我該如何執行這個條件。

+0

'我無法執行它':究竟是什麼意思?有沒有錯誤? – ekad 2014-10-05 09:59:19

+0

是的,它給出了一個錯誤你的SQL語法有錯誤;請檢查與您的MySQL服務器版本相對應的手冊,以便在第1行(eval 28)第23行的where'projectname ='ARIA'和phase ='MULE_A'OR impact ='FRONT_IMPACT'和loadcas'附近使用正確的語法。 – rss 2014-10-05 10:33:26

+0

然後編輯您的問題並添加錯誤,以便我們可以嘗試幫助您解決問題。如果你只是說「我無法執行它」,沒有人會明白有什麼問題。 – ekad 2014-10-05 10:39:29

回答

0

你需要使用這個2分的條件,有或

my $sth = $dbh->prepare("delete form loadcase1 where (projectname='ABC' and phase='123e') OR (impact='impact' and loadcase='loadc')"); 

所以它會刪除(項目名= 'ABC' 相= '123E')和(衝擊= '影響' 和工況=」 loadc')條件。我不能看到你的問題

+0

我已經突出顯示了,並且 – rss 2014-10-05 09:34:17

+0

您的問題中有2個條件 1-)(projectname ='ABC'** and ** phase ='123e') 2 - )(impact ='impact'** and ** loadcase ='loadc') 你想用這個查詢來實現什麼? – user2040578 2014-10-06 10:41:58

+0

我需要刪除基於這兩個條件的記錄。 – rss 2014-10-08 05:28:28

0

在SQL 3.任何情況下,你需要使用的話AndOr代替&&||