Игнорировать нулевые значения в запросе insert в MySQL

#java #mysql #sql #jdbc

#java #mysql #sql #jdbc

Вопрос:

Я получаю данные, которые могут содержать нулевые значения, я хочу игнорировать их и вставлять только значения, которые не являются нулевыми, например:

 INSERT INTO student 
   (`id`, `age`, `last_value`)
 VALUES
   (1,21,3),
   (2,25,null),
   (3,23,9);
  

здесь я хочу игнорировать нулевое значение во второй строке, чтобы избежать переопределения последнего значения, собранного ранее.

Комментарии:

1. Почему вам нужно беспокоиться о предыдущем значении при вставке строки?

2. на самом деле это ВСТАВКА с использованием ОБНОВЛЕНИЯ ДУБЛИКАТА КЛЮЧА. извините, если это недостаточно ясно.

3. Пожалуйста, отредактируйте вопрос, чтобы уточнить, что именно вам нужно сделать, иначе люди не смогут вам помочь.

Ответ №1:

Не видя, как вы создаете запрос, трудно дать вам окончательный ответ. Но вы можете проверить, откуда вы получаете значения, и вставить их в запрос, и просто не создавать строку, если какое-либо из значений является null .

Комментарии:

1. Мне нужны значения других столбцов, поэтому я не могу игнорировать необработанный

Ответ №2:

Если вы хотите обработать это в контексте инструкции insert, тогда сделайте столбец not null. Теперь попытка вставки завершится неудачей с определенным кодом ошибки. Вы можете справиться с этим в клиентском коде.

Это сработает, если в контексте выполнения одновременно добавляется одна строка