zoukankan      html  css  js  c++  java
  • mysql not null default / default

    not null default 说明不能是NULL, 并设置默认值

    default 设置默认值 , 但值也可能是NULL

    mysql> create table test (id int, name varchar(10) default 'a', addr varchar(10)
     not null default 'b');
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> desc test;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id    | int(11)     | YES  |     | NULL    |       |
    | name  | varchar(10) | YES  |     | a       |       |
    | addr  | varchar(10) | NO   |     | b       |       |
    +-------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    
    mysql> insert into test id values(1);
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MariaDB server version for the right syntax to use near 'id
    values(1)' at line 1
    mysql> insert into test id values(1);
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MariaDB server version for the right syntax to use near 'id
    values(1)' at line 1
    mysql> insert into test(id) values (1);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into test(id) values (1);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into test(id) values (1);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from test;
    +------+------+------+
    | id   | name | addr |
    +------+------+------+
    |    1 | a    | b    |
    |    1 | a    | b    |
    |    1 | a    | b    |
    +------+------+------+
    3 rows in set (0.00 sec)
    
    mysql> insert into test(id,name) values (1,null);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from test;
    +------+------+------+
    | id   | name | addr |
    +------+------+------+
    |    1 | a    | b    |
    |    1 | a    | b    |
    |    1 | a    | b    |
    |    1 | NULL | b    |
    +------+------+------+
    4 rows in set (0.00 sec)
    
    mysql> insert into test(id,addr) values (1,null);
    ERROR 1048 (23000): Column 'addr' cannot be null
    mysql>
    
  • 相关阅读:
    Python __dict__属性详解
    Bash脚本实现批量作业并行化
    谷歌浏览器安装elasticsearch-head插件
    Linux虚拟机(Centos7) NAT网络模式下配置静态ip
    配置PL/SQL Developer连接远程Oracle数据库
    Linux虚拟机(Centos7)关闭防火墙
    Linux虚拟机(Centos7)桥接网络模式下配置静态ip
    Docker一键安装部署oracle
    Redis二进制安全的概念
    Docker小白到实战之Dockerfile解析及实战演示,果然顺手
  • 原文地址:https://www.cnblogs.com/perl6/p/7057616.html
Copyright © 2011-2022 走看看