Following SQL table definition is illustrated one of create table statement from my MYSQL database which is developed by a former developer of my company.
DROP TABLE IF EXISTS `classifieds`.`category_vehicles`;
CREATE TABLE `classifieds`.`category_vehicles`(
`adv_id_ref` BIGINT UNSIGNED NOT NULL,
`category_id_ref` TINYINT UNSIGNED NOT NULL,
`forsale_status` TINYINT (1) NOT NULL,
`vehicle_type_id_ref` TINYINT UNSIGNED NOT NULL,
`price` DOUBLE NULL DEFAULT NULL,
PRIMARY KEY (`adv_id_ref`)
) ENGINE = INNODB CHARSET = latin1 COLLATE = latin1_swedish_ci ;
In there look at the statement price DOUBLE NULL DEFAULT NULL,
Normally I'm using:
price DOUBLE NULL;
if I want to enable that column to accept NULL values.
So what are the differences between these 3 statements?
priceDOUBLE NULL;priceDOUBLE DEFAULT NULL;priceDOUBLE NULL DEFAULT NULL;
price DOUBLE DEFAULT NULL NOT NULL... i shit you not, i actually have a database defined like that :-)