だから、これはかなり簡単なように思えますし、私は以前にこれをやったことがあると断言しますが、何らかの理由でうまくいきません.
私はMAMP
約200列のテーブルを使用しており、NULLまたは空のデータが挿入された場合、約20列をデフォルトで0に設定したいと考えています。
これは、テーブルがどのように見えるか、およびデフォルトで 0 にしたい列に対して行ったことの小さな例です。
CREATE TABLE `listings` (
`ListingID` int(11) NOT NULL,
`BathsFull` int(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`ListingID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
BathsFull
問題に設定したことに注意してください。NOT NULL DEFAULT '0'
空のデータが渡されると、SQLエラーが発生しますSQLSTATE[23000]: Integrity constraint violation: 1048 Column 'BathsFull' cannot be null
。
BathsFull accepts
NULL and
DEFAULT '0'も試してみましたが、空のデータが渡されると、NULL
代わりにテーブルが表示され0
ます。
ここで何か不足していますか?ある種のトリガーを書く必要がありますか? 必要がなければ、DB に入れる前にスクリプト内のデータをスクラブしたくありません。