используя преобразование строки в tinyint (bool) с помощью mysql - PullRequest
0 голосов
/ 28 ноября 2011

Есть ли способ, с помощью TRIGGER или, предпочтительно, какой-нибудь функции MySql, о которой я не знаю, автоматически присваивать значение столбца TINYINT значению «1», если в него передается ЛЮБОЕ значение?

Например, если у меня есть столбец A (TINYINT) и я INSERT "собачьи кости" в этом столбце:

INSERT INTO mytable (columnA) VALUES ("doggybones")

... тогда mysql автоматически присвоит значение "1" для columnA вместо того, чтобы выдать ошибку о попытке вставить string в столбец TINYINT?

Это также должно работать так, что если я вставлю "" - пустое значение, но оператор INSERT все равно выведет его, например:

INSERT INTO mytable (columnA) VALUES ("")

... тогда столбец получит значение 0.

Примечание: я знаю, что мог бы фильтровать свои значения только по INSERT 0 и 1, но мне интересно, есть ли способ сделать это на стороне mysql.

1 Ответ

0 голосов
/ 28 ноября 2011

К сожалению, SQL (все разновидности) строго следит за типами данных.
Это происходит до запуска любого кода триггера.

Вам нужно будет проверить "" (пустая строка)

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