フィールドの1つに値を持つデータベースがあります。状況によっては、初期値を削除してNULLに置き換える必要があります。MySQLにNULL値をColdfusionから挿入する
空のフィールドにNULL値を挿入するにはどうすればよいですか?
ありがとうございます。
フィールドの1つに値を持つデータベースがあります。状況によっては、初期値を削除してNULLに置き換える必要があります。MySQLにNULL値をColdfusionから挿入する
空のフィールドにNULL値を挿入するにはどうすればよいですか?
ありがとうございます。
あなたはこのようなものだクエリを記述します
<cfquery name="queryName" datasource="dsn">
UPDATE tableName SET fieldName = NULL
WHERE recordId = <cfqueryparam cfsqltype="cf_sql_integer" value="#recordId#" />
</cfquery>
また、空の文字列とNULL値との差があります。 NULLについて覚えておくべきことは、NULL以外のものと同じではないということです。しかし、それもではなく、はNULLでない値と同じです。
ID VALUE
1 15
2 NULL
3 30
このクエリを実行します:あなたがあなたのテーブル内の3つのレコード持っているのであれば
SELECT ID from tableName where value != 15
を、あなたは唯一の確実レコード2が結果セットに含まれるようにする方法があるレコードの3を取得します以下のようなあなたのクエリを変更する:
SELECT ID from tableName where coalesce(value,16) != 15
を合体する目的は、NULLネスのための最初のパラメータをチェックして、最初のパラメータがNULLの場合、代わりに二番目のパラメータの値を使用することです。上記の例では、2番目のパラメータとして '16'を入れましたが、比較しているものと同じでない限り(この場合は15)、任意の値を使用できます。
cfqueryparamタグにもnull属性があります。これは、値が動的で、次のようなことができる場合に便利です。set col = –
良い点!私はWHERE句でそれを使って問題を抱えていました(それは私が試したCFバージョンで動作するようには見えませんが)UPDATEとINSERTクエリのSET句やVALUES句にはうまくいきますそれぞれ)。使い方は良いですが、何が何をしているのか、いつ働いているのか、理解していないのかを理解してください。 =) –