mysql自動生成字串的主鍵是自動增長的

2022-03-24 01:23:22 字數 5498 閱讀 2594

1樓:霜_河

建議使用uuid作為主鍵,

select replace(uuid(),'-','');

insert的時候用這個replace(uuid(),'-','')

2樓:匿名使用者

mysql

通過auto_increment設定

mysql> create table test_create_tab2 (

-> id int auto_increment,

-> val varchar(10),

-> primary key (id)

-> );

query ok, 0 rows affected (0.09 sec)

mysql> insert into test_create_tab2(val) values ('no id');

query ok, 1 row affected (0.03 sec)

mysql> select last_insert_id() as id;

+----+

| id |

+----+

| 1 |

+----+

1 row in set (0.00 sec)

mysql> insert into test_create_tab2(val) values ('no id 2');

query ok, 1 row affected (0.03 sec)

mysql> select last_insert_id() as id;

+----+

| id |

+----+

| 2 |

+----+

1 row in set (0.00 sec)

mysql> select * from test_create_tab2;

+----+---------+

| id | val |

+----+---------+

| 1 | no id |

| 2 | no id 2 |

+----+---------+

2 rows in set (0.00 sec)

3樓:匿名使用者

你在設計表的時候就有問題,一般主鍵都定義為int型別,可設定為自增列。int型便於索引的優化與資料檢索。 而你使用的char型別,隨之而來的問題就如lz所問。

4樓:匿名使用者

欄位屬性為 auto_increment

mysql表主鍵從給定值開始自動增長是怎麼回事?

5樓:天線寶寶

mysql資料庫表table,設定主鍵id自動增長auto_increment.表建立好以後插入資料的話,id是從1開始的,可以通過設定,讓表建立好以後插入資料,其id是從100或者1000開始。

create table tablename(

id      int not null auto_increment,

name  varchar(255) not null,

primary key(id);

)auto_increment=100。

mysql自增id起始值修改方法

在mysql中很多朋友都認為欄位為auto_increment型別自增id值是無法修改,其實這樣理解是錯誤的,下面介紹mysql自增id的起始值修改與設定方法。

通常的設定自增欄位的方法;

1、建立**時新增

2、建立**後新增

3、而且該語句也適用於修改現有表的id上, 比如大批量刪除資料後,想id從654321退回123456開始;

4、但是經過實際測試, 單機的mysql沒有問題, mysql cluster下是無效的,可能在主鍵上的機制,還是有所不同,有時間研究一下。

6樓:雁子

mysql提供了主鍵自動增長的功能!這樣使用者就不用再為是否有主鍵是否重複而煩惱了。當主鍵設定為自動增長後,在沒有給出主鍵值時,主鍵的值會自動生成,而且是最大主鍵值+1,也就不會出現重複主鍵的可能了。

建立表時設定主鍵自增長(主鍵必須是整型才可以自增長):

create table stu(

sid int primary key auto_increment,

sname varchar(20),

age int,

gender varchar(10));

如何設定mysql 主鍵自動增長

7樓:雁子

建立表時設定主鍵自增長(主鍵必須是整型才可以自增長):

create table stu(

sid int primary key auto_increment,

sname varchar(20),

age int,

gender varchar(10)

);修改表時設定主鍵自增長:

alter table stu change sid sid int auto_increment;

修改表時刪除主鍵自增長:

alter table stu change sid sid int;

mysql中主鍵自動增長時的幾種情況

8樓:司馬刀劍

mysql 每張表只能有1個自動增長欄位,這個自動增長欄位即可作為主鍵,也可以用作非主鍵使用,但是請注意將自動增長欄位當做非主鍵使用時必須必須為其新增唯一索引,否則系統將會報錯。例如:

1.將自動增長欄位設定為主鍵。

create table t1 (id int auto_increment primary key,sid int);

2.將自動增長欄位設定為非主鍵,注意必須顯式新增unique鍵。

create table t2 (sid int primary key,id int auto_increment unique);

3.將自動增長欄位設定為非主鍵如果未新增唯一索引將會報錯**,如下面語句

create table t3 (sid int primary key,id int auto_increment)。

mysql是一個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下產品。mysql 是最流行的關係型資料庫管理系統之一,在 web 應用方面,mysql是最好的 rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體。

mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

mysql所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。mysql 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇 mysql 作為**資料庫。

由於其社群版的效能卓越,搭配 php 和 apache 可組成良好的開發環境。

建立一張mysql的表 已有了id 將id設定成 主鍵自動增加

9樓:_絕版溫柔

drop table if exists `user`;(user為你已經建好的名字)

create table `user` (

`id` int(11) not null auto_increment,(auto_increment控制主鍵自曾1)

`gid` int(11) default null,

`username` varchar(15) not null,

`password` varchar(15) not null,

primary key (`id`),--->設定主鍵

) engine=innodb default charset=gb2312;

或者這樣

alter table 表名 modify id int auto_increment primary key

10樓:匿名使用者

alter table abc add constraint p_m_k primary key(id) ;

alter table abc auto_increment=1;

1可以重新定義,為起始點,

11樓:匿名使用者

如果表中沒資料的話,最好是刪除了重新建,因為如果你開始有主鍵的話,再修改挺麻煩的

12樓:看下巴

僅試過mysql

設 要改變的列名為 id, 改變後 id 從1,2,3...... :

alter table tablename drop id;

alter table tablename add id int primary key auto_increment first;

資料庫如何設定主鍵(id)自動增長啊(sql語句)?

13樓:匿名使用者

在建立表的時候可以設定,方法如下,用一下sql語句。create table tablename(id int identity(1,1) primary key,data varchar(50))

解釋:其中identity(1,1)代表專自增,第一個1代表從

屬1開始計數,第二個1代表每次增長1。

14樓:

sql2005起,不再支援從**修改為自增長列!但可以在企業管理器裡改

mysql資料庫如何為表中已有的主鍵欄位增加自增屬性?sql語句怎麼寫

15樓:匿名使用者

你建立表的時候就應該建立id-->id int primary key auto_increment

如果應經建立成功

alter table `tablename`modify column `fieldname`varchar(14)

16樓:匿名使用者

alter table `category ` modify column `id` int(11) not null auto_increment first ,add primary key (`id`);

試試吧,應該是這樣子

17樓:一個網際網路使用者

alter table category modify id int auto_increment primary key

18樓:匿名使用者

alter table `category` modify `id` int primary key auto_increment;

或者alter table `category` change `id` int primary key auto_increment;

SQL函式怎樣算出字串逗號隔開的字串數量

我是這樣想的,想計算出 逗號在 字串中出現的次數,再加一,就是了。sql select length a,7,34,4,bb length replace a,7,34,4,bb 1 from dual length a,7,34,4,bb length r 5 sql中可以自定義函式來統計逗號隔開...

程式設計序,輸入字串,將組成字串的所有非英文字母的字

我的bai理解是,這個 和dua的初始化情況zhi有關,當a如果不是dao初始化為全0的話,就可能出錯。專可考慮調整為 屬 include include int main return 0 include void main a j 0 puts a 編一個程式,輸入一個字串,將組成字串的所有非英...

字串指標移動問題,關於字串和指標的問題

因為 p 沒有分配記憶體,指向的是系統的記憶體,那段記憶體是隻讀的,因此改變那裡的值是錯誤的 char a abcde char p a p 1 w 這樣是正確的,因為a那段記憶體是可寫的 你上面的,你可以理解為 const char a abcde char p a p 1 w 錯誤,因為a是co...