我是一名Perl初學者,剛剛通過perl scipt獲得了一項調整任務。那我現在專注的說法是:Perl腳本或MySQL修復?
my $sth = $dbh->prepare('SELECT StringValue FROM CustomData WHERE (Record_ID = \'' . $ref->{'Record_ID'} . '\' && Field_ID = \'' . $metadata[11] . '\') LIMIT 1;');
當前語句將拉動每次在Record_ID
值相匹配的記錄。但是,它只需要更改爲,其中Record_ID以數字1,2,9,開頭。
我在想這更像是一個正則表達式問題,對嗎?如果是這樣,我應該只修改
Record_ID = \'' . $ref->{'Record_ID'}
部分。那是對的嗎?或者這應該是在prepare
聲明中修復的問題?
由於「限制1」,它將拉出第一條匹配記錄。 – 2012-03-18 16:51:22
您應該使用佔位符而不是嘗試自己插入和引用變量。請參閱DBI文檔。 – TLP 2012-03-18 18:09:27