48
Глава 2. Создание и заполнение базы данных
mysql>
UPDATE person
>
SET gender = 'Z'
>
WHERE person_id = 1;
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1
Warnings: 1
Выражение
update
не
дало сбой, но было сформировано предупрежде
ние. Чтобы увидеть описание предупреждения,
можно выполнить ко
манду
show
warnings
(показать предупреждения):
mysql>
SHOW WARNINGS;
++++
| Level | Code | Message |
++++
| Warning | 1265 | Data truncated for column 'gender' at row 1 |
++++
1 row in set (0.00 sec)
Это я назвал бы
безопасной ошибкой
(
soft error
),
поскольку сервер MySQL
не забраковал выражение, но также и не произвел ожидаемых результа
тов.
Чтобы решить эту проблему, сервер MySQL заполняет столбец
gender
пустой строкой (
''
) – определенно не тем, что предполагалось получить.
Лично я предпочел бы, чтобы выражение
было отвергнуто с сообщением
об ошибке, что и сделали бы большинство других серверов БД.
Достарыңызбен бөлісу: