C# 如何使用MySqlParameter有条件地将列设置为其默认值?

C# 如何使用MySqlParameter有条件地将列设置为其默认值?,c#,.net,mysql,sql,mysql-parameter,C#,.net,Mysql,Sql,Mysql Parameter,我在MySql数据库中有一个存储用户帐户的表。其中一列expires存储过期日期,但默认为NULL。我需要能够删除到期日期并将其设置回默认值 目前,我的所有CRUD例程都是使用带有参数的MySqlCommand编写的。这可以通过MySqlParameter直接完成吗,或者我必须创建一个备用命令对象来处理这种情况吗?不清楚您所说的是什么情况。若要将列设置为默认值,可以使用 command.AddWithValue(“@param”,DbNull.Value); 或 command.Paramete

我在MySql数据库中有一个存储用户帐户的表。其中一列expires存储过期日期,但默认为NULL。我需要能够删除到期日期并将其设置回默认值


目前,我的所有CRUD例程都是使用带有参数的MySqlCommand编写的。这可以通过MySqlParameter直接完成吗,或者我必须创建一个备用命令对象来处理这种情况吗?

不清楚您所说的是什么情况。若要将列设置为默认值,可以使用

command.AddWithValue(“@param”,DbNull.Value);
或
command.Parameters.Add(“@param”,).Value=DBNull.Value;

问题是DBNull,正在执行以下操作:

command.Parameters.AddWithValue("@parameter", null);

编译正常。

我通常在代码中将默认值/空白值设置为null,然后在执行查询之前,运行以下循环:

foreach(MySqlParameter param in cmd.Parameters)
    if (param.Value == null) param.Value = DBNull.Value;
foreach(MySqlParameter param in cmd.Parameters)
    if (param.Value == null) param.Value = DBNull.Value;