我正在更新mysql数据库,即使值被设置为0,我也得到了一个奇怪的错误。
我试着运行以下代码:
MySqlCommand update = new MySqlCommand("UPDATE email_batch SET numberOfSendAttempts = numberOfSendAttempts + 1 AND sentOn = @sentOn WHERE outputFolder = @outputFolder", conn);
update.Parameters.AddWithValue("@sentOn", DateTime.Now);
update.Parameters.AddWithValue("@outputFolder", outputFolder);
update.ExecuteNonQuery();但是我得到了这个错误
Exception has occurred: CLR/MySql.Data.MySqlClient.MySqlException
An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll: 'Column 'numberOfSendAttempts' cannot be null'
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
at emailBatchReader.emailBatchReader.Main(String[] args) in C:\Users\tpaolini\Desktop\sendEmailBatch\emailBatchReader.cs:line 332我知道发生这种情况是因为我将值设置为非空,但它应该将其设置为递增1。我检查了我的mysql语法,这似乎是正确的,我检查了它,没有使用增量语句,它可以工作。我的语句试图将该值设为空,那该怎么办呢?
发布于 2018-08-02 07:26:58
您需要使用comma's来分隔要设置的字段,而不是AND
UPDATE email_batch
SET numberOfSendAttempts = numberOfSendAttempts + 1, sentOn = @sentOn
WHERE outputFolder = @outputFolderhttps://stackoverflow.com/questions/51643478
复制相似问题