MySQL 기본값 제약 조건을 사용하는 방법

(*-*)浩
풀어 주다: 2019-05-11 09:32:53
원래의
6706명이 탐색했습니다.

이 글에서는 기본 제약 조건과 사용 방법, 수정 후 효과를 소개합니다.

추천 과정: MySQL 튜토리얼.

MySQL 기본값 제약 조건을 사용하는 방법

일반적으로 사용되는 데이터베이스 제약 조건:

기본 기본 제약 조건;

null이 아닌 제약 조건, 특정 열이 NULL이 아님을 지정하는

unique: 고유 제약 조건, 특정 열과 여러 열 조합은 반복할 수 없습니다.

기본 키: 특정 열의 데이터가 비어 있지 않고 고유하며 반복될 수 없음을 지정하는 기본 키 제약 조건: 외래 키, 해당 열을 지정합니다. 레코드는 기본 테이블의 레코드에 속하며 다른 데이터를 참조합니다.

확인: 지정된 데이터를 확인하는 표현식을 지정합니다.


1.

테이블에 새 행을 삽입할 때 열에는 명시적으로 값이 할당되지 않습니다. 열의 기본값이 정의되어 있으면 기본값이 자동으로 얻어집니다. 그렇지 않으면 (NULL)이 됩니다.

 -- 创建一张user表
CREATE TABLE `test`.`user`(  
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name` VARCHAR(225) COMMENT '姓名',
  `sex` TINYINT(1) DEFAULT 1 COMMENT '性别 1男 0女',
  PRIMARY KEY (`id`)
) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_general_ci
로그인 후 복사
필드에 기본 제약 조건 추가:

1.在创建表时:直接在字段类型的后面加上 DEFAULT(value),具体看创建user表时的sex字段;
2.在存在表的情况下添加:
  使用sql语句 ALTER TABLE `user` MODIFY `sex` TINYINT(1) DEFAULT 1; 即可为添加 `sex` 字段添加默认约束;
  使用sql语句 ALTER TABLE `user` MODIFY `name` VARCHAR(225)DEFAULT '小明'; 即可为添加 `name` 字段添加默认约束;

tips:默认约束是不可以使用函数的,所以 ALTER TABLE `user` ADD COLUMN `date` DATETIME DEFAULT NOW() AFTER `sex`; 是不可行的。
로그인 후 복사

기본 제약 조건 제거:

移除默认约束和添加默认约束操作方式一样,都是修改表的字段;
ALTER TABLE `user` MODIFY `sex` TINYINT(1); 
这样就移除了sex的默认约束。
로그인 후 복사

이제 데이터 조각을 삽입합니다:

INSERT INTO `user`(`name`) VALUES('小明');

SELECT * FROM `user`;

结果:
-----------------------------------
id   name   sex 
   小明    1
-----------------------------------
로그인 후 복사

물론 다음도 가능합니다:

INSERT INTO `user`(`name`,`sex`) VALUES('小明',DEFAULT);
SELECT * FROM `user`;

结果:
---------------------------------
id     name     sex 
     小明        1
---------------------------------
로그인 후 복사

만약 당신이 이렇게 하세요:

INSERT INTO `user`(`sex`) VALUES(DEFAULT);
SELECT * FROM `user`;

结果:
-----------------------------------
id   name    sex 
   (NULL)   1
-----------------------------------
로그인 후 복사

팁: DEFAULT를 사용하여 업데이트와 쿼리를 모두 실행할 수 있습니다.

-- 查询sex字段的默认值  SELECT DEFAULT(`sex`) FROM `user`; 
-- 更新sex为默认值 UPDATE `user` SET `sex` = DEFAULT WHERE `id`='1';
로그인 후 복사

위 내용은 MySQL 기본값 제약 조건을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿