建表時加上唯一性約束:
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供通州網(wǎng)站建設(shè)、通州做網(wǎng)站、通州網(wǎng)站設(shè)計、通州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、通州企業(yè)網(wǎng)站模板建站服務,10多年通州做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務。
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;
MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。
擴展資料:
MySQL 作為數(shù)據(jù)庫,系統(tǒng)特性:
1、使用 C和?C++編寫,并使用了多種編譯器進行測試,保證了源代碼的可移植性。
2、支持?AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。
3、為多種編程語言提供了?API。這些編程語言包括?C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。
4、優(yōu)化的?SQL查詢算法,有效地提高查詢速度。
5、提供多語言支持,常見的編碼如中文的?GB 2312、BIG5,日文的?Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。提供?TCP/IP、ODBC 和?JDBC等多種數(shù)據(jù)庫連接途徑。
6、支持大型的數(shù)據(jù)庫。可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。支持多種存儲引擎。
參考資料:百度百科-mySQL
試試
CREATE TABLE user
(
id INT not null AUTO_INCREMENT,
name varchar(100) not null,
password varchar(100) not null,
PRIMARY KEY (id),
UNIQUE KEY (name)
);
其實這個和你的mysql版本也有關(guān)系,語法會不一樣
你可以下載個圖形化界面mysqlbrowser,然后通過圖形化方式生成語句就知道了
你用那個圖形界面的軟件,來加就可以了,應該在索引那一欄里面,自己寫語句修改表,弄不好會出錯的,還麻煩。
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.給已經(jīng)建好的表加上唯一性約束
ALTER TABLE `t_user` ADD unique(`username`);
我機器上沒有數(shù)據(jù)庫,沒驗證這2個sql,不曉得行不行,大概是這樣的吧。
有些人用程序來給數(shù)據(jù)做約束的,比如約束用戶名,
DataSet ds = dao.queryForDataSet(connName,"select * from t_user where username=? and password=?",new Object[]{username,password},0,0,false);
if(ds.size()==1){
//登陸成功
}else if(ds.size()1){
//凍結(jié)此賬戶,記錄錯誤日志
}else{
//告知用戶賬號不存在或者密碼錯誤
}
插入用戶之前事先查詢一下這個用戶是否存在,可以用ajax做驗證賬號是否重復的效果,很多網(wǎng)站都是這么干的
當前名稱:mysql唯一約束怎么寫 mysql唯一約束和唯一索引
瀏覽路徑:http://redsoil1982.com.cn/article28/dodjocp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、品牌網(wǎng)站建設(shè)、響應式網(wǎng)站、網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)