从Coldfusion向MySQL插入空值

从Coldfusion向MySQL插入空值,mysql,database,coldfusion,null,Mysql,Database,Coldfusion,Null,我有一个数据库,其中一个字段中可能有一个值。在这种情况下,可能需要删除初始值并将其替换为NULL 如何在空字段中插入空值 非常感谢。您可以编写如下查询: <cfquery name="queryName" datasource="dsn"> UPDATE tableName SET fieldName = NULL WHERE recordId = <cfqueryparam cfsqltype="cf_sql_integer" value="#recordId#" /

我有一个数据库,其中一个字段中可能有一个值。在这种情况下,可能需要删除初始值并将其替换为NULL

如何在空字段中插入空值


非常感谢。

您可以编写如下查询:

<cfquery name="queryName" datasource="dsn">
  UPDATE tableName SET fieldName = NULL
  WHERE recordId = <cfqueryparam cfsqltype="cf_sql_integer" value="#recordId#" />
</cfquery>
运行此查询时:

SELECT ID from tableName where value != 15
你只会得到记录3。确保记录2包含在结果集中的方法是更改查询:

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

coalesce的目的是检查第一个参数是否为NULL,如果第一个参数为NULL,则使用第二个参数的值。在上面的示例中,我将“16”作为第二个参数,但是您可以使用任何您想要的值,只要它与您要比较的值不同(在本例中为15)。

cfqueryparam标记还有一个null属性。当值是动态的时,这非常有用,您可以这样做:set col=Good point!我在WHERE子句中使用它时遇到了一些问题(在我尝试过的CF版本中,它似乎没有发挥应有的作用),但它对于UPDATE和INSERT查询中的SET子句或VALUES子句(分别)非常有效。这是一个很好的使用方法,但请确保您了解它在做什么,什么时候起作用,什么时候不起作用
SELECT ID from tableName where coalesce(value,16) != 15