当前位置:Gxlcms > 数据库问题 > mysql - 约束

mysql - 约束

时间:2021-07-01 10:21:17 帮助过:15人阅读

TABLE table1( t_id INT PRIMARY KEY, t_card_id INT UNIQUE NOT NULL, t_name VARCHAR(20) CHECK(t_name != aaa), t_sex VARCHAR(1) DEFAULT , t_account_id VARCHAR(20) REFERENCES userinfo(uid) #在对应列后面定义外键,视频上说也可以 #网上说用t_account_id VARCHAR(20) FOREIGN KEY REFERENCES userinfo(uid) 试了不行- -估计版本问题 );

 

CREATE TABLE table1(
    t_id INT PRIMARY KEY, #如果两个primary key 则表示两个组合起来是主键
    t_card_id INT UNIQUE NOT NULL, #假如可以为null,unique中可以插入两个null值,有的教程说不可以两个null会提示重复= =
    t_name VARCHAR(20) CHECK(t_name != aaa),
    t_sex VARCHAR(1) DEFAULT ,
    t_account_id VARCHAR(20),  #外键,CONSTRAINT fk_table1_userinfo FOREIGN KEY (t_account_id) REFERENCES userinfo(uid) #在后面单独定义外键
);

两个null值的属性在关联查询时不会判定相等。

 

SHOW INDEX FROM 表名

查看索引,主键和外键会自动生成索引。

 

修改列约束:直接用modify修改字段就可以   比如添加唯一约束  alter table 表名 modify column 列名 int unique     

修改表约束:alter tbale 表名 add contraint    比如添加唯一约束  alter table 表名 add constraint 【约束名】 unique(列名)

 

2.自增长

auto_increment

CREATE TABLE table4(
    t_id INT PRIMARY KEY AUTO_INCREMENT,
    t_card_id INT REFERENCES table2(t_card_id)
)AUTO_INCREMENT = 0;   #可以通过这种方式修改初始值,不然默认从1开始, 每个表只能有一个自增列,类型只能是数值型

 

 

mysql - 约束

标签:varchar   索引   modify   版本问题   auto   ons   定义   var   tab   

人气教程排行