I knew it was an option somewhere... Perfect! Thanks
JamesDR wrote: > JamesDR wrote: >> Scott Baker wrote: >>> If I create the following table, and then try and insert the following >>> data both inserts work. It looks like the second one works (it shouldn't >>> because Last is NULL) because it assumes Last = ''. Is there a way I can >>> make it NOT assume that? If Last is not specified it should reject that >>> command. Is that possible? >>> >>> --------------------------------------------------------------- >>> >>> DROP TABLE IF EXISTS foo; >>> >>> CREATE TABLE foo ( >>> ID INTEGER PRIMARY KEY AUTO_INCREMENT, >>> First VarChar(30), >>> Last VarChar(30) NOT NULL, >>> Zip INTEGER >>> ); >>> >>> INSERT INTO foo (First, Last, Zip) VALUES ('Jason','Doolis',97013); >>> INSERT INTO foo (Last) VALUES (17423); >>> >> In your last insert example, Last is inserted as 17423. Which is not null. >> > > Yup, empty string, the manual says this... > http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html > > However it does say that to enforce NOT NULL you would have to change > the sql_mode > http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html > EG: > SET SESSION sql_mode='STRICT_ALL_TABLES'; > INSERT INTO foo (zip) VALUES (12345); > SET SESSION sql_mode=''; > > I get an error on the insert statement: > "Field 'Last' doesn't have a default value." > > You may need to set sql_mode to STRICT_ALL_TABLES before the insert or > do it in my.cnf or as a command line parameter. > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]