联合主键的意义:用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。

一般设置联合主键时,其中一个自增。效果图如下:

(可以很清楚的知道某个小区的记录个数)

接下来说道设置联合主键的细节:

1.mysql的数据引擎必须是MyISAM

修改表引擎的语句:

alter table user engine=myisam

2.设置自增的主键不能放在最左边

测试:

数据库结构:

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(255) NOT NULL,

`nack` varchar(255) DEFAULT NULL,

PRIMARY KEY (`username`,`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

model实体:

package com.lgy.model;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.Table;

@Table(name="user")

public class User {

@Id

private int id;

/**

* @GeneratedValue JPA主键生成策略,自增长

*/

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private String username;

private String nack;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getNack() {

return nack;

}

public void setNack(String nack) {

this.nack = nack;

}

}

持久层:

package com.lgy.mapper;

import com.lgy.model.User;

public interface UserDao {

int insert(User user);

}

Mapper文件:

id, username, nack

insert into user

null,

#{username},

#{nack}

测试结果:

符合预期想象.

mysql联合主键意义_mysql设置联合主键的意义相关推荐

  1. mysql怎样添加唯一标识_MySql设置唯一标识,主键等设置

    create table user_score( name char(10) not null default "", score smallint not null defaul ...

  2. mysql表定义外键语法_mysql设置外键的语法怎么写?

    2012-08-31 回答 mysql外键设置详解 (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加er图的可读性 有些人认为外键 ...

  3. mysql联合查询查询语句_mysql 各种联合查询语句

    简单的介绍了各种联合查询语句的用法,有inner join ,join left等多表联合查询,有需要的朋友可以参考一下. INNER JOIN(等值连接) 只返回两个表中联结字段相等的行 LEFT ...

  4. mysql修改主键属性_mysql如何改变主键属性

    mysql改变主键属性的方法:1.使用关键字modify,代码为[alter table tbl_name modify.....]:2.使用关键字change,代码为[alter table tbl ...

  5. mysql主键索引_MySQL索引之主键索引

    在MySQL里,主键索引和辅助索引分别是什么意思,有什么区别? 上次的分享我们介绍了聚集索引和非聚集索引的区别,本次我们继续介绍主键索引和辅助索引的区别. 1.主键索引 主键索引,简称主键,原文是PR ...

  6. mysql普通索引自增_mysql中联合索引中的自增列的增长策略

    <深入理解MySQL>中一段介绍MyISAM存储引擎中自动增长列的示例,如下 1 mysql>create table autoincre_demo2 -> (d1 small ...

  7. mysql联合索引顺序调整_MySQL 关于联合索引的字段顺序规则讨论

    联合索引的顺序,难道不是哪个查询条件最多用就放在前面的吗? 比如商品有三个分类A,B,C,类似「界门纲目科属种」那样,越左类别越大.还有一个是商品来源D,不一定会用于查询条件中. 举个例子,A代表衣服 ...

  8. mysql实现自增字符串_Mysql实现字符串主键自增示例教程-Go语言中文社区

    /* Mysql数据库练习 需求:创建一张表,包含四个字段(pid,name,age,sex),然后使用存储过程实现添加数据,要求 1 pid 为自增主键 2 插入数据的时候值添加姓名和年龄 3 性别 ...

  9. mysql表主键类型_mysql表结构主键类型

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  10. mysql使字段自增_Mysql设置自增字段的方法

    来自:http://www.cnblogs.com/younggun/archive/2011/07/10/2102164.html 如何实现MySQL设置自增字段是许多人都问到的问题,下面就为您介绍 ...

最新文章

  1. 1.6.2 多表插入
  2. oracle adg 备份,Oracle Physical Dataguard环境使用RMAN备份和恢复
  3. 攻击人脸识别,最高奖励10万 | 微众银行第二届金融科技高校技术大赛正式启动...
  4. 春眠不觉晓,SQL 知多少?| 原力计划
  5. 会声会影 html5,一文了解会声会影哪个版本比较好用
  6. python推箱子小游戏_python实现推箱子游戏
  7. CMSC5724-数据挖掘之VC维、Shatter、VC-dim以及Margin有关的通理
  8. 使用Java解牛客网六一儿童节
  9. 电商物流仓储流程图模板分享
  10. android studio 报错 AAPT: error: style attribute ‘attr/colorPrimary (aka com.
  11. 十一新疆之旅中邂逅的一首诗《黄河,母亲之河》
  12. Calendar获取日期所在周、月份第一天、最后一天以及前一周内所有时间
  13. python ---input()函数、前几篇知识点总结
  14. SQLserver数据库教程
  15. python win32print api_python学习笔记(win32print API介绍)
  16. excel表格怎么调整行高和列宽_Excel 表格技巧—一键调整行高列宽的方法
  17. 物联网蜜罐地理分布情况
  18. 《匠人精神》读书笔记要点记录及自我剖析
  19. idea通过svn上传_IDEA提交整个项目到svn
  20. 二清分账不解决,平台企业还能走多远?

热门文章

  1. ftp上传软件,五款ftp优秀的ftp上传软件
  2. php 双引号 转义字符,php中的单引号、双引号和转义字符
  3. ResponseEntity返回图片,下载图片
  4. 在Office的Excel中打开WPS很慢
  5. 服务器端给客户端发送消息,linux 服务器端给客户端发送消息
  6. 阿里云代码管理平台 Teambition Codeup(行云)亮相,为企业代码安全护航
  7. android 网络 adb,Android设备通过网络adb 调试
  8. php实现手机归属地的查询、,PHP之cURL实现手机号码归属地查询功能
  9. win10升级助手_Win7直接升级Win10,小编三种方法告诉你如何做到,建议收藏哦!
  10. 智商高的人情商都低?這個人來告訴你