mysql .net - 如何使用 .net 连接器在 mysql 中更改 SQL 模式

mysql .net - how to change SQL mode in mysql using .net connector

在 MySQL Workbench 中,我们有一些 SQL 会话模式,例如 'allow_invalid_dates'、'traditional' 等

例如。 set session sql_mode = 'allow_invalid_dates'

我正在为 MySQL 使用 .net 连接器。那么,我如何使用该提供程序设置这些模式?有什么方法可以设置 SQL 模式吗?

如评论中所述,像发送任何其他查询一样发送查询将为当前会话设置 sqlmode。

using (MySqlConnection conn = new MySqlConnection(connectionstring))
{
    conn.Open();
    using (MySqlCommand cmd = new MySqlCommand("set session sql_mode = 'allow_invalid_dates'", connection))
    {
        cmd.executeNonQuery();
    }

    //add here any query you want using the new sqlmode
}

Johan 的回答很有用。我认为如果你想在整个应用程序中做同样的事情,你不需要每次打开连接后都运行它。

在连接字符串中设置此项将使它像 Johan 的回答一样工作。供参考,请参阅此 https://dev.mysql.com/doc/connector-net/en/connector-net-programming-datetime-invalid.html