c # mysql увеличение нулевой ошибки

0

Я обновляю базу данных 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

что я знаю, потому что я установил значение не null, но он должен установить его для увеличения 1. Я проверил свой синтаксис mysql, и это кажется правильным, и я проверил его без инструкции increment и он работает. Как насчет моего утверждения пытается сделать это значение нулевым?

Теги:
exception

1 ответ

3
Лучший ответ

Вы должны использовать запятую для разделения полей для установки, а не AND

UPDATE email_batch
SET numberOfSendAttempts = numberOfSendAttempts + 1, sentOn = @sentOn
WHERE outputFolder = @outputFolder
  • 0
    Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню