mybatis数据表(mysql)的主键非自增长,如何插入数据(需插入主键)实现主键自增长?

问题描述

mybatis数据表(mysql)的主键非自增长,如何插入数据(需插入主键)实现主键自增长?

举例来说就是有表person,person有id(mysql数据库,主键,非自增),和name,pswd三个字段。如果是自增的情况,我们通常是这样处理

insert into person(name,pswd) values(#{name},#{pswd})

这种情况不许要插入主键,因为person表主键是自增长的。但如果主键不是增长的情况呢?如何处理。主键不是自增长就应该必须插入主键。
在步改动表结构的情况下!我能想到有两种方式可以解决,一个就是插入主键时实现自增长,比如第一次主键插1,第二次插2.这种方式不是很好。第二中就是在mapper.xml中是否可以实现向oracle序列那样进行自增长,小弟能力不够,还希望各位前辈能多多指教。如有更好的方法请指出。

解决方案

mysql 主键id自增长,插入数据的方法
mysql 插入数据失败防止自增长主键增长的方法
表主键自增长Mybatis插入数据报错

解决方案二:

不自增长要么就查询最新数据的主键然后增加,要么就用uuid吧

解决方案三:

如果你的键是从1开始到N的,那么直接算出有多少列,把这个列加1(看你表的情况是否要加),当作那个值插入,又或者你直接查找到该ID的最大值,然后+1,再进行插入

解决方案四:

修改
table_name 你的表名 col_name列名
id int 你可以换成你的对应的属性及类型

将某列设置为主键,如果已为主键,跳过,看下一步
alter table table_name add primary key (col_name);
增加某列为自增
alter table table_name modify id int auto_increment;

解决方案五:

修改
table_name 你的表名 col_name列名
id int 你可以换成你的对应的属性及类型

将某列设置为主键,如果已为主键,跳过,看下一步
alter table table_name add primary key (col_name);
增加某列为自增
alter table table_name modify id int auto_increment;

时间: 2024-09-17 06:08:24

mybatis数据表(mysql)的主键非自增长,如何插入数据(需插入主键)实现主键自增长?的相关文章

mybatis+mysql 一表主键自增, 插入数据,怎么返回主键

问题描述 mybatis+mysql 一表主键自增, 插入数据,怎么返回主键 mybatis+mysql 一表主键自增, 插入数据,怎么返回主键.很多人说的都是返回了插入的行数 解决方案 <insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id"> insert into person(name,pswd)

如何将数据表中某个字段的内容选出来插入到另一个数据表中,并显示到Gridview中,用一次数据库连接可否?(用代码实现)

问题描述 如何将数据表中某个字段的内容选出来插入到另一个数据表中,并显示到Gridview中,用一次数据库连接可否?(用代码实现) 解决方案 解决方案二:建个临时表,存放Table1的全部数据和Table2的某个字段的数据临时表的字段为Table1的字段+Table2的某个字段GridView的DataSource设置为这个临时表就可以了解决方案三:LZ,你说的这种情况肯定是可以实现的.但是你的意思没有表达的很清楚啊.你是希望从第一个表中哦啊选出来的数据怎么插入第二个表中呢?说清楚你的要求,兄弟

ASP与Excel结合生成数据表和Chart图的代码_应用技巧

目录 一. 环境配置 二. ASP对Excel的基本操作 三. ASP操作Excel生成数据表 四. ASP操作Excel生成Chart图 五. 服务器端Excel文件浏览.下载.删除方案 六. 附录 正文 一. 环境配置 服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即: 1.Win9x+PWS+Office 2.Win2000 Professional+PWS+Office 3.Win2000 Server+IIS+Office 目前笔者测试成功的环境是后二者.Office的版本

ASP与Excel结合生成数据表和Chart图的代码

目录 一. 环境配置 二. ASP对Excel的基本操作 三. ASP操作Excel生成数据表 四. ASP操作Excel生成Chart图 五. 服务器端Excel文件浏览.下载.删除方案 六. 附录 正文 一. 环境配置 服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即: 1.Win9x+PWS+Office 2.Win2000 Professional+PWS+Office 3.Win2000 Server+IIS+Office 目前笔者测试成功的环境是后二者.Office的版本

MySQL创建和删除数据表的命令及语法详解_Mysql

创建数据表创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_type); 以下例子中我们将在 TUTORIALS 数据库中创建数据表tutorials_tbl: tutorials_tbl( tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NU

如何锁定MYSQL数据表

mysql|数据 在进行数据表检查或修补时,可以先将数据表锁定,可确保数据表的安全: mysql>LOCK TABLE tbl_name READ; mysql>FLUSH TABLES; 将数据表锁定后再进行检查或修补的工作.完成后再解除锁定: mysql>UNLOCK TABLES; //LOCK TABLE tbl_name READ表示要锁定成只读状态,在这个状态下用户只能读取数据表,不能写入. LOCK TABLE tbl_name WRITE则是更严格的锁定,用户不能读取也不

MYSQL教程:检查数据表和修复数据表

数据库在运行中,会因为人为因素或一些不可抗力因素造成数据损坏.所以为了保护数据的安全和最小停机时间,我们需制定详细的备份/恢复计划,并定期对计划的有效性进行测试. 本章结合MySQL服务器的运行机制和所提供的工具,介绍如何进行数据库的备份.维护和修复. 以下是几点防范的措施: 制定一份数据库备份/恢复计划,并对计划进行仔细测试. 启动数据库服务器的二进制变更日志,该功能的系统开销很小(约为1%),我们没有理由不这样做. 定期检查数据表,防范于未燃. 定期对备份文件进行备份,以防备份文件失效. 把

mysql中创建修改删除数据表例子

在PHP中应用数据库时,通常是先在MySQL客户机的控制台中,使用DDL语句创建网站中的数据库.数据表及修改表结构等操作以后,再在PHP脚本中应用.很少直接在PHP中执行DDL语句动态创建数据库.数据表或修改表的操作,通常也只有在制作安装版本的网站时才会这么做. 1.创建表(CREATE TABLE) 数据库创建以后,使用use命令选定这个新创建的数据库作为默认(当前)数据库使用,就可以继续建立其包含的数据表.数据表的创建是使用表的前提,创建数据表主要是定义数据表的结构,包括数据表的名称.字段名

PHP获取mysql数据表的字段名称和详细信息的方法_php技巧

首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: 复制代码 代码如下: SHOW DATABASES                                //列出 MySQL Server 数据库. SHOW TABLES [FROM db_name]                    //列出数据库数据表. SHOW CREATE TABLES tbl_name                    //导出数据表结构. SHOW TABLE STATUS [FR