非空约束对数据插入的影响:
mysql> insert into t_debt(fnumber,fperson) values('1','Jim');
1364 - Field 'famount' doesn't have a default value
mysql> insert into t_debt(fnumber,famount,fperson) values('1',200,'Jim');
Query OK, 1 row affected
mysql> select * from t_debt;
+---------+---------+---------+
| fnumber | famount | fperson |
+---------+---------+---------+
| 1 | 200 | Jim |
+---------+---------+---------+
1 row in set
主键约束对数据插入的影响:
mysql> insert into t_debt(fnumber,famount,fperson) values('1',300,'Jim');
1062 - Duplicate entry '1' for key 'PRIMARY'
mysql> insert into t_debt(fnumber,famount,fperson) values('2
',300,'Jim');
Query OK, 1 row affected
mysql> select * from t_debt;
+---------+---------+---------+
| fnumber | famount | fperson |
+---------+---------+---------+
| 1 | 200 | Jim |
| 2 | 300 | Jim |
+---------+---------+---------+
2 rows in set
外键约束对数据插入的影响:
mysql> insert into t_debt(fnumber,famount,fperson) values('3',100,'Jerry');
1452 - Cannot add or update a child row: a foreign key constraint fails (`learnsql`.`t_debt`, CONSTRAINT `t_debt_ibfk_1` FOREIGN KEY (`fperson`) REFERENCES `t_person` (`fname`))
mysql> insert into t_debt(fnumber,famount,fperson) values('3',100,'Tom');
Query OK, 1 row affected
mysql> select * from t_debt;
+---------+---------+---------+
| fnumber | famount | fperson |
+---------+---------+---------+
| 1 | 200 | Jim |
| 2 | 300 | Jim |
| 3 | 100 | Tom |
+---------+---------+---------+
3 rows in set