다음 SQL 테이블 정의는 내 회사의 이전 개발자가 개발 한 MYSQL 데이터베이스의 create table 문 중 하나를 보여줍니다.NULL 대 DEFAULT NULL 대 NULL DEFAULT MYSQL 열 생성시 NULL?
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 ;
거기에서이
은 일반적으로 내가price
DOUBLE NULL을 사용하고, 문 price
DOUBLE NULL의 DEFAULT NULL의보고;
해당 열에서 NULL 값을 허용하도록 설정하려면이 옵션을 선택하십시오.
그래서이 세 문장의 차이점은 무엇입니까?
1) price
DOUBLE NULL;
2) price
DOUBLE DEFAULT NULL;
3) price
DOUBLE NULL DEFAULT NULL;
대단히 감사합니다.
두 번째 표현식에 "* 가격이 두 배이고 null 일 수 없습니다 *"입니다. 'NULL'을 생략하면'NULL'이 가정됩니다. (매뉴얼의 인용문 참조) –
@EJP는 모든 문장이 동일하다고 생각합니다. 나는 아직도 이것을 추출 할 수 없다. :) – Sylar
@Sylar 그들은 * 동일합니다. – EJP