Вставка значения NULL в MySQL из Coldfusion - PullRequest
1 голос
/ 05 января 2011

У меня есть база данных, которая может иметь значение в одном из полей.Обстоятельства могут потребовать удалить начальное значение и заменить его на NULL.

Как можно вставить значения NULL в пустое поле?

Оценить его.

1 Ответ

2 голосов
/ 05 января 2011

Вы бы написали запрос примерно так:

<cfquery name="queryName" datasource="dsn">
  UPDATE tableName SET fieldName = NULL
  WHERE recordId = <cfqueryparam cfsqltype="cf_sql_integer" value="#recordId#" />
</cfquery>

Кроме того, существует разница между пустой строкой и значением NULL. Что нужно помнить о NULL, так это о том, что он не равен ничему, кроме NULL Но это также не равнозначно ненулевым значениям. Итак, если у вас есть три записи в вашей таблице:

ID     VALUE
1      15
2      NULL
3      30

При выполнении этого запроса:

SELECT ID from tableName where value != 15

вы получите ТОЛЬКО запись 3. Чтобы убедиться, что запись 2 включена в набор результатов, нужно изменить запрос следующим образом:

SELECT ID from tableName where coalesce(value,16) != 15

Цель объединения - проверить первый параметр на NULL-ness и использовать вместо него значение второго параметра, если первый параметр равен NULL. В приведенном выше примере я поставил «16» в качестве второго параметра, но вы можете использовать любое значение, которое хотите, если оно не совпадает с тем, что вы сравниваете (в данном случае 15).

...