在mysql中為表的字段新增唯一性約束的語句怎麼寫

2021-03-12 14:56:35 字數 1665 閱讀 2369

1樓:大野瘦子

1、建表時加上唯一性約束

create table `t_user` (

`id` int(11) not null auto_increment,  -- 自增

`username` varchar(18) not null unique,  -- 唯一性約束

`password` varchar(18) not null,

primary key (`id`)

) engine=innodb auto_increment=1018 default charset=gbk;

2、給已經建好的表加上唯一性約束

alter table `t_user` add unique(`username`);

2樓:軒轅漁民

primary key 主鍵唯一

方法一:

create table `test` (

uname varchar(18) not null default '',

primary key (uname)

) engine=myisam default charset=gbk;

方法二:

create table `test` (

uname varchar(18) not null default '' primary key

) engine=myisam default charset=gbk;

方法三create table `test` (

uname varchar(18) not null default ''

) engine=myisam default charset=gbk;

alter table test add primary key(uname);

3樓:

你用那個圖形介面的軟體,來加就可以了,應該在索引那一欄裡面,自己寫語句修改表,弄不好會出錯的,還麻煩。

1.建表時加上唯一性約束

create table `t_user` (

`id` int(11) not null auto_increment,

`username` varchar(18) not null unique,

`password` varchar(18) not null,

primary key (`id`)

) engine=innodb auto_increment=1018 default charset=gbk;

2.給已經建好的表加上唯一性約束

alter table `t_user` add unique(`username`);

我機器上沒有資料庫,沒驗證這2個sql,不曉得行不行,大概是這樣的吧。

有些人用程式來給資料做約束的,比如約束使用者名稱,

dataset ds = dao.queryfordataset(connname,"select * from t_user where username=? and password=?

",new object,0,0,false);

if(ds.size()==1)else if(ds.size()>1)else

插入使用者之前事先查詢一下這個使用者是否存在,可以用ajax做驗證賬號是否重複的效果,很多**都是這麼幹的

mysql資料中的所有表在新增資料的時候都是自增兩個,如果吧

可能是配置問題吧,我也不懂。你可以設定自增起始值 alter table 表名 auto increment 1 如何在mysql資料庫中給已有的資料表新增自增id 首先碼卻保你這張表中沒有primary key,如果有先刪除這張表中的 primary key,然後建立乙個自增長字段 語法如下 al...

在資料表中新增欄位的sql語句怎麼寫

資料表中新增一個欄位的標準sql語句寫法為 alter table 表名 add 欄位 欄位型別 default 輸入預設值 null not null 舉例 alter table employee add spbh varchar 20 not null default 0 意思就是在表empl...

MySQL怎麼把表中字段資料複製到另外表的某個欄位下

update b set tel select mobile from a where a.id b.aid 注 aid是a,b兩個表的關聯字段 如果想實現這個,首先你要找到兩張表共有的字段,利用聯合查詢然後再進行update操作就可以了,直接複製的話估計只有把資料匯入到excel中操作了 inse...