zoukankan      html  css  js  c++  java
  • 约束

    主键约束

    能够唯一确定一张表中的一条记录,也就是我们通过给某一字段添加约束,就可以使得该字段不重复且不为空
    mysql> use test
    Database changed
    mysql> create table user(
    -> id int primary key,
    -> name varchar(20)
    -> );
    Query OK, 0 rows affected (0.14 sec)

    mysql> show tables;
    +----------------+
    | Tables_in_test |
    +----------------+
    | pet |
    | user |
    +----------------+
    2 rows in set (0.00 sec)

    mysql> describe user;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id | int(11) | NO | PRI | NULL | |
    | name | varchar(20) | YES | | NULL | |
    +-------+-------------+------+-----+---------+-------+
    2 rows in set (0.05 sec)

    mysql> insert into user values('1','张三');
    Query OK, 1 row affected (0.14 sec)

    mysql> insert into user values('1','张三');
    ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
    mysql> insert into user values('2','张三');
    Query OK, 1 row affected (0.01 sec)

    mysql> select * from user;
    +----+------+
    | id | name |
    +----+------+
    | 1 | 张三 |
    | 2 | 张三 |
    +----+------+
    2 rows in set (0.00 sec)

    mysql> insert into user values(NULL,'张三');
    ERROR 1048 (23000): Column 'id' cannot be null

    联合主键

    只要联合的主键都不重复即可
    mysql> create table user2(
    -> id int,
    -> name varchar(20),
    -> password varchar(20),
    -> primary key(id,name)
    -> );
    Query OK, 0 rows affected (0.12 sec)
    mysql> insert into user2 values(1,'张三','123');
    Query OK, 1 row affected (0.02 sec)

    mysql> insert into user2 values(1,'张三','123');
    ERROR 1062 (23000): Duplicate entry '1-张三' for key 'PRIMARY'
    mysql> insert into user2 values(2,'张三','123');
    Query OK, 1 row affected (0.10 sec)

    mysql> insert into user2 values(1,'李四','123');
    Query OK, 1 row affected (0.07 sec)

    mysql> select * from user2;
    +----+------+----------+
    | id | name | password |
    +----+------+----------+
    | 1 | 张三 | 123 |
    | 1 | 李四 | 123 |
    | 2 | 张三 | 123 |
    +----+------+----------+
    3 rows in set (0.00 sec)

    自增约束

    外键约束

    唯一约束

    非空约束

    默认约束

  • 相关阅读:
    测试用例的优先级的概念
    Day02.测试用例和测试方法
    day01.测试理论
    开发python 面试题
    4.路径页面接口开发
    ps命令没有显示路径找到命令真实路径
    Linux软链接和硬链接
    Linux文件元数据和节点表结构
    jinjia2语言
    Ansible之YAML语言
  • 原文地址:https://www.cnblogs.com/liang-xp/p/12297574.html
Copyright © 2011-2022 走看看