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)

    自增约束

    外键约束

    唯一约束

    非空约束

    默认约束

  • 相关阅读:
    EF之DataBase添加新字段
    VS 发布MVC网站缺少视图
    解决IE下打印iframe时,页面比例变小的问题
    DataTable求列的最大值、最小值、平均值和样本数
    js的splice和delete
    js获取对象的属性个数
    placeholder
    prompt
    依赖注入
    highcharts离线导出图表
  • 原文地址:https://www.cnblogs.com/liang-xp/p/12297574.html
Copyright © 2011-2022 走看看