как избежать отправки нулевого значения в sql в java - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть таблица с 35 столбцами, где такие записи, как день1, день2, день3 ------ до дня31. Я определил эти 31 столбец с пустым разрешением принято. Я вставляю запись с помощью метода JdbcTemplate: обновление (String sql, Object ... args) генерирует исключение DataAccessException, столбец которого не имеет значения или пустое значение .. Нулевое значение вставляется в таблицу .. это нормально.

но когда я обновляю таблицу, столбец которой уже имеет какое-то значение, но текущая запись json содержит пустое значение для этого столбца, тогда значение этого столбца становится нулевым. и я хочу добавить 31 полей, в которых есть целочисленные значения.

1 Ответ

3 голосов
/ 03 февраля 2020

Ваш текущий дизайн таблицы кажется неоптимальным, и я бы вместо этого предложил иметь отдельную запись для каждого дня месяца. А еще лучше, просто ведите один столбец даты, а затем добавьте другой столбец для количества, которое вы хотите сложить:

CREATE TABLE yourTable (dt date, quantity int, ...);

Глазурь на торте здесь такова, что теперь, если вы хотите подвести итог по дате, или диапазон дат, вам нужно использовать только функцию SUM(), которая по умолчанию игнорирует значения NULL. Таким образом, не имеет значения, равны ли ваши пустые заполнители нулю или NULL, результат будет таким же.

...