1. 请说明唯一约束和主键约束之间的联系和区别。 2. 在course表中插入一条学分值小于0的记录,该记录能插入成功吗? 3. 建立外键约束所参照的父表的列必须建立成主键吗? 4. 可以建立几种类型的触发器?
时间: 2024-01-24 13:18:58 浏览: 124
1. 主键约束和唯一约束都可以用来保证表中某个字段的唯一性。主键约束要求该字段不允许为空,并且在表中唯一存在,而唯一约束则只要求该字段在表中唯一存在,但可以为空。主键约束可以作为表的主键,用来建立与其他表的关联,而唯一约束则不能作为主键。
2. 不可以插入学分值小于0的记录,因为在定义表时,学分值列的数据类型应该是小数型或整数型,在数据类型的定义中应该已经规定了该列的取值范围,如果插入的值不符合规定,就会插入失败。
3. 不必须建立成主键,父表的被参照列必须是唯一的,可以是主键列,也可以是唯一约束列。
4. 触发器可以分为三种类型:BEFORE触发器、AFTER触发器、INSTEAD OF触发器。其中BEFORE和AFTER触发器可以在INSERT、UPDATE、DELETE等事件发生前或者后触发相关的操作,而INSTEAD OF触发器则可以替代原本的INSERT、UPDATE、DELETE操作,执行自定义操作。在MySQL中,触发器可以使用SQL语句或存储过程实现。
相关问题
创建course表 将课程号设为主键 约束学分值在1-8分之间
可以使用以下SQL语句创建符合要求的course表:
```
CREATE TABLE course (
course_id INT PRIMARY KEY,
credit DECIMAL(3,1) CHECK (credit BETWEEN 1 AND 8)
);
```
这个语句会创建一个名为course的表,包含两列:course_id和credit。其中,course_id作为主键,表示课程编号;credit表示课程学分值,使用CHECK约束确保其值在1到8之间(包括1和8)。
创建course表,设置课程号列为主键,约束学分值在1至8之间
好的,以下是创建符合要求的course表的SQL语句:
```
CREATE TABLE course (
course_no INT PRIMARY KEY,
credit INT CHECK (credit >= 1 AND credit <= 8)
);
```
这里使用了CHECK约束来确保学分值在1至8之间。另外,course_no列被设置为主键,以确保课程号的唯一性。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)