I am having some issues with some integer fields and string input. The table setup is the following:

| Field       | Type        | Null | Key | Default | Extra |
| intfield1 | smallint(6) | YES  |     | 0    |       |
| intfield2 | smallint(6) | YES  |     | NULL    |       |
| intfield3 | smallint(6) | YES  |     | NULL    |       |

I have values coming into the database from an HTML form select box. The default value from the select box is an empty string if nothing is chosen. So we have an update statement that looks like the following:

UPDATE table SET intfield1='', intfield2='', intfield3='' WHERE ...;

This will then set everything to be 0's. Know, I know that there should probably be better preprocessing before going to the database, but this just brought to my attention this issue.

It seems to me that if the value that is being set is invalid for the field it should set it to NULL or at least the default value for the field instead of 0. Why is it set to 0 regardless?

Les

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to