MySQL自增約束
1、自增約束
特點:
(1)一個表只能有一個自增約束
因為一個表只有一個維護自增值的變數。
(2)自增約束的列只能是整數列
(3)自增約束的列必須是鍵列(主鍵,唯一鍵,外來鍵),
實際中一般是主鍵自增最多
2、如何在建表時指定某個列自增
create table 【資料庫名.】表名稱(
欄位名1 xxInt primary key auto_increment,
欄位名2 資料型別 【unique key】【not null】 default 預設值,
欄位名3 資料型別 default 預設值,
。。。。
);
create table t_stu(
sid int auto_increment, #錯誤
sname varchar(20)
);
ERROR 1075 (42000): Incorrect table definition;
there can be only one auto column and it must be defined as a key
create table t_stu(
sid int primary key auto_increment,
sname varchar(20)
);
mysql> desc t_stu;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| sid | int(11) | NO | PRI | NULL | auto_increment |
| sname | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
3、如何給自增列新增資料呢
自增列,如果指定值,就按照指定的來,如果沒有指定值就自增。
如果指定的值是0或null,就按照自增的來。
insert into t_stu values('張三');#錯誤的
ERROR 1136 (21S01): Column count doesn't match value count at row 1'
insert into t_stu(sname) values('張三'); #sid=1
insert into t_stu(sname) values('李四'); #sid=2
insert into t_stu values(5,'王五'); #sid=5
insert into t_stu(sname) values('趙六'); #sid=6
insert into t_stu values(0,'錢七'); #sid=7
insert into t_stu values(null,'王八'); #sid = 8
insert into t_stu values(-1,'負數'); #sid=-1
insert into t_stu(sname) values('測試'); #sid=9
insert into t_stu values(3,'333'); #sid=3
insert into t_stu(sname) values('測試頂頂頂頂');#sid=10
建議:正常使用時,不要亂插
4、建表後增加自增
alter table 【資料庫名.】表名稱 modify 欄位名 資料型別 auto_increment;
5、如何取消自增
alter table 【資料庫名.】表名稱 modify 欄位名 資料型別;
相關文章
- MySQL 約束MySql
- Mysql入門【Mysql約束】MySql
- MySQL 欄位約束MySql
- MySQL——表的約束,資料型別,增刪查改MySql資料型別
- mysql資料庫約束MySql資料庫
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- MySQL之完整性約束MySql
- mysql自增和orcale自增MySql
- mysql新增約束語句筆記MySql筆記
- MySQL——約束(constraint)詳解MySqlAI
- 好程式設計師大資料培訓分享MySQL資料庫約束條件和自增長序列程式設計師大資料MySql資料庫
- 教你mysql如何增加外來鍵約束MySql
- MySQL 中的約束及相關操作MySql
- 5_MySQL 表的欄位約束MySql
- MySQL學習筆記——建立與約束MySql筆記
- MySQL中的 UNIQUE約束和UNIQUE索引MySql索引
- MySQL禁用恢復外來鍵約束MySql
- Javaweb-約束-外來鍵約束JavaWeb
- Oracle定義約束 外來鍵約束Oracle
- MySQL學習筆記之約束條件MySql筆記
- mysql 刪除老是報外來鍵約束MySql
- 《MySQL 基礎篇》八:約束和檢視MySql
- SQL約束SQL
- Oracle約束Oracle
- oracle 約束Oracle
- 03約束
- 綜合約束
- 【MySQL】MySQL基礎(SQL語句、約束、資料型別)MySql資料型別
- (10)邏輯綜合新增約束(環境約束)
- Mysql-基本練習(06-唯一約束、外來鍵約束、新增、刪除單列)MySql
- PostgreSQLrotatetable自動清理排程-約束,觸發器SQL觸發器
- mysql自增長列MySql
- mysql不能新增外來鍵約束怎麼辦MySql
- mysql啟動和關閉外來鍵約束MySql
- MySQL·捉蟲動態·唯一鍵約束失效MySql
- 約束介紹
- 差分約束
- 深入剖析 MySQL 自增鎖MySql