MySQL 8, вставка ненулевого значения ⇐ Php
MySQL 8, вставка ненулевого значения
В ближайшие недели я собираюсь обновить свою базу данных MySQL с версии 5.6 до 8.0.
К сожалению, в моей базе данных есть много таблиц с ненулевыми значениями без значения по умолчанию. Как я видел в документации MySQL, в этом случае, если я попытаюсь вставить строку и не определяю значение каждого столбца, запрос выдаст ошибку и не вставит строку.
Пример: --id (целое число, автоматическое увеличение) -- имя (varchar, ненулевое значение, нет значения по умолчанию) -- some_number (целое число, ненулевое значение, нет значения по умолчанию)
$sql = "INSERT INTO example_table (name) VALUES (:name)"; $stmt = $conn->prepare($sql); $stmt->execute(array(':name' => $name)); Если я прав, этот запрос должен вернуть ошибку и не должен ничего вставлять (поскольку значение «some_number» не было задано).
Но, как я видел в своей тестовой среде, он выдает только предупреждение, а запрос вставляет строку со значением «0» в качестве столбца «some_number».
Действительно ли при вставке необходимо указывать ненулевое значение для каждого столбца?
В ближайшие недели я собираюсь обновить свою базу данных MySQL с версии 5.6 до 8.0.
К сожалению, в моей базе данных есть много таблиц с ненулевыми значениями без значения по умолчанию. Как я видел в документации MySQL, в этом случае, если я попытаюсь вставить строку и не определяю значение каждого столбца, запрос выдаст ошибку и не вставит строку.
Пример: --id (целое число, автоматическое увеличение) -- имя (varchar, ненулевое значение, нет значения по умолчанию) -- some_number (целое число, ненулевое значение, нет значения по умолчанию)
$sql = "INSERT INTO example_table (name) VALUES (:name)"; $stmt = $conn->prepare($sql); $stmt->execute(array(':name' => $name)); Если я прав, этот запрос должен вернуть ошибку и не должен ничего вставлять (поскольку значение «some_number» не было задано).
Но, как я видел в своей тестовой среде, он выдает только предупреждение, а запрос вставляет строку со значением «0» в качестве столбца «some_number».
Действительно ли при вставке необходимо указывать ненулевое значение для каждого столбца?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
MySQL/Hibernate: значение по умолчанию для ненулевого столбца не работает
Anonymous » » в форуме JAVA - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Кадр данных Pandas заполняется на единицу больше предыдущего ненулевого значения
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Кадр данных Pandas заполняется на единицу больше предыдущего ненулевого значения
Anonymous » » в форуме Python - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-