• 约束


    主键约束

    能够唯一确定一张表中的一条记录,也就是我们通过给某一字段添加约束,就可以使得该字段不重复且不为空
    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)

    自增约束

    外键约束

    唯一约束

    非空约束

    默认约束

  • 相关阅读:
    Asp.net全局资源文件( App_GlobalResources)和本地资源文件(App_LocalResources)
    基于bootstrap3.3.4的简单框架搭建(左侧导航收起滚动)
    jquery file upload + asp.net 异步多文件上传
    写给若干年后的自己
    There is already an open DataReader associated with this Connection which must be closed first EF
    我,一个传统男人的22岁
    错误 137 (net::ERR_NAME_RESOLUTION_FAILED):未知错误
    Android APK反编译详解(附图)
    string的连接字符串方法及效率
    腾讯QQ API接口调用 之QQ状态查询
  • 原文地址:https://www.cnblogs.com/liang-xp/p/12297574.html
Copyright © 2020-2023  润新知