约束
概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。
分类:①.主键约束:primary key ②.非空约束:not null③.唯一约束:unique ④. 外键约束:foreign key
非空约束:not null,值不能为null
--创建表时添加约束
CREATE TABLE stu(
id INT,
NAME VARCHAR(20) NOT NULL
);
--创建表完后,添加非空约束
ALTER TABLE stu MODIFY NAME VAR
**以下所有约束状态均能用describe查询
1、主键约束:
它能够唯一确定一张表中的一条记录,也就是我们通过某个字段添加约束,就可以是的改字段不重复且不为空。
**①方法一:**
create table user( # 创建表
id int primary key, # 创建主键约束,id将不能重复添加
Name varchar(20)
);
**②方法二:联合主键,只要主键加起来不重复就可以。**
Create table user2(
Id int,
Name
10线程同时操作,频繁出现插入同样数据的问题。虽然在插入数据的时候使用了: insert inti tablename(fields….) select t1,t2,t3 from tablename where not exists (select id from tablename where t1=t1,t2=t2,t3=t3) 当时还是在高并发的情况下无效。此语句也包含在存储过程中。(之前也尝试线判断有无记录再看是否写入,无效)。 因此,对于此类情况还是需要从数据库的根本来解决,就是约束