婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql 實現設置多個主鍵的操作

mysql 實現設置多個主鍵的操作

熱門標簽:武漢網絡外呼系統服務商 地圖標注費用是多少 怎樣在地圖標注銷售區域 曲靖移動外呼系統公司 電話外呼系統改號 啥是企業400電話辦理 外呼系統打電話上限是多少 百應電話機器人優勢 南昌三維地圖標注

user表,身份證號碼要唯一,手機號碼,郵箱要唯一

實現方式:

表結構不用動。一個主鍵Id 加索引實現

如圖類型設置索引類型為Unique 唯一 選擇欄位,命個名就行。索引方式btree 就好。ok啦~

補充:mysql實現多表主鍵不重復

同一個數據庫中有兩張表,里面字段都是一樣,只是因為存的數據要區分開。但是主鍵不能重復。具體實現如下:

新建數據庫 mytest

新建user表和admin表

CREATE TABLE `user` (
 `user_id` INT(11) NOT NULL,
 `user_name` VARCHAR(255) NOT NULL,
 `password` VARCHAR(255) NOT NULL,
 `phone` VARCHAR(255) NOT NULL,
 PRIMARY KEY (`user_id`)
)
COMMENT='用戶表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
CREATE TABLE `admin` (
 `user_id` INT(11) NOT NULL,
 `user_name` VARCHAR(255) NOT NULL,
 `password` VARCHAR(255) NOT NULL,
 `phone` VARCHAR(255) NOT NULL,
 PRIMARY KEY (`user_id`)
)
COMMENT='管理員表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

新建序列表:

CREATE TABLE `sequence` (
 `seq_name` VARCHAR(50) NOT NULL,
 `current_val` INT(11) NOT NULL,
 `increment_val` INT(11) NOT NULL DEFAULT '1',
 PRIMARY KEY (`seq_name`)
)
COMMENT='序列表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

新增一個序列:

INSERT INTO sequence VALUES ('seq_test', '0', '1');

創建currval函數,用于獲取序列當前值:

delimiter #
create function currval(v_seq_name VARCHAR(50)) 
returns integer(11) 
begin
 declare value integer;
 set value = 0;
 select current_val into value from sequence where seq_name = v_seq_name;
 return value;
end;

查詢當前值:

select currval('seq_test');

創建nextval函數,用于獲取序列下一個值:

delimiter #
create function nextval (v_seq_name VARCHAR(50)) returns integer(11) 
begin
 update sequence set current_val = current_val + increment_val where seq_name = v_seq_name;
 return currval(v_seq_name);
end;

查詢下一個值

select nextval('seq_test');

具體實現:

insert id="addUser" parameterType="User">
  selectKey keyProperty="userId" resultType="int" order="BEFORE">
   select nextval('seq_test');
  /selectKey>
  insert into user(user_id,user_name,password,phone) values
  (#{userId},#{userName, jdbcType=VARCHAR},#{password, jdbcType=VARCHAR}, #{phone, jdbcType=VARCHAR})
 /insert>
insert id="addAdmin" parameterType="Admin">
  selectKey keyProperty="userId" resultType="int" order="BEFORE">
   select nextval('seq_test');
  /selectKey>
  insert into admin(user_id,user_name,password,phone) values
  (#{userId},#{userName, jdbcType=VARCHAR},#{password, jdbcType=VARCHAR}, #{phone, jdbcType=VARCHAR})
 /insert>

最終實現:

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • MySQL中的主鍵以及設置其自增的用法教程
  • 深入Mysql,SqlServer,Oracle主鍵自動增長的設置詳解
  • mysql下創建字段并設置主鍵的php代碼

標簽:滄州 吉林 資陽 甘南 錦州 隨州 荊州 黑河

巨人網絡通訊聲明:本文標題《mysql 實現設置多個主鍵的操作》,本文關鍵詞  mysql,實現,設置,多個,主鍵,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql 實現設置多個主鍵的操作》相關的同類信息!
  • 本頁收集關于mysql 實現設置多個主鍵的操作的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 濮阳市| 颍上县| 南陵县| 太仓市| 肃南| 城市| 绥棱县| 柘荣县| 凤台县| 涞源县| 平度市| 麦盖提县| 南丰县| 临沧市| 沭阳县| 临颍县| 汕头市| 盐津县| 兴山县| 崇阳县| 桦川县| 秭归县| 临澧县| 长子县| 昌吉市| 铜鼓县| 余干县| 张家港市| 岗巴县| 密云县| 临桂县| 台南县| 白河县| 当涂县| 三穗县| 耒阳市| 昭平县| 扶余县| 晋宁县| 乐亭县| 神农架林区|