2011-01-19 20 views
0

私はphpmyadminを使用しています。データをインポートする際に空の文字列を自動的にnullに設定する方法を理解できません。そのため、トリガーを作成しようとしています。SQLで挿入する前に、空のスティングをnullに設定するトリガーを作成する方法は?

私のトリガーは、最終的にはこれよりもさらに多くのフィールドを含める必要がありますが、これは動作していない私のテスト実行のトリガー、次のとおりです。私はこのエラーを取得

create trigger test1 
before insert 
on hvi 
for each row 
begin 
if new.`Amt` = ' ' then 
set new.`Amt` = null 
end if; 
end; 

MySQL said: Documentation # 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'end if' at line 8

を何私は間違っている?

+1

'set new.'Amt '= null'の後にセミコロンがないようです。 –

答えて

2
if new.`Amt` = ' ' then 
set new.`Amt` = null ; 
end if; 
+0

おっと、あなたの質問へのコメントで既にアダムがこれに答えているようです。 – Learning

+0

残念ながら、それは修正ではありませんでした。私は試してこのエラーが発生しました: "#1064 - あなたはあなたのSQL構文に誤りがあります。正しい構文があなたのMySQLサーバーバージョンに対応するマニュアルをチェックしてください。 – kmcamara

+0

私は数ヶ月間プロジェクトから離れましたが、今私はそれに戻ります。私はあなたの両方が述べたように、ヌルの後にセミコロンを追加することによって仕事の種類にしました。しかし、このトリガは最初の空の文字列をnullに変更し、残りの文字列をゼロとして入力しました。誰も私が逃していることを見ているすべてのフィールドでこの仕事を持って最初の変更後に停止していない? – kmcamara

関連する問題