`

mysql 主键问题处理

阅读更多

mysql的主键问题:
Mysql的两种主键。Primary key 和not null auto_incriment
在建立mysql表时,给一个字段添加了主键primary key


在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值mysql数据库还是默认添加0,会导致有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。
在建立mysql表时,给一个字段添加了主键not null auto_increment=1;
这也是一个主键。时自增长的以1为开始。这个字段是可以不用填写值的,mysql数据库会自动给填写值,不会出现primary key的状况。


Alter table tb add primary key(id);
Alter table tb change id id int(10) not null auto_increment=1;


》》》 删除自增长的主键id,先删除自增长在删除主键
Alter table tb change id id int(10);//删除自增长
Alter table tb drop primary key;//删除主建

 

》》》增加主键:

Alter table tb add primary key (keyname);

 

》》》两个字段联合作为主键:

Alter table tb add primary key (keyname1,keyname2);

分享到:
评论
1 楼 powerclark 2009-12-17  
Alter table tb add primary key (keyname1,keyname2);
两个字段联合起来做主键比较有用哦~

相关推荐

    MySQL数据库主键重复原因分析及处理.pdf

    MySQL数据库主键重复原因分析及处理.pdf MySQL数据库主键是数据库管理系统中的一种重要概念,它是指在关系型数据库中,每个表的唯一标识符,用于唯一地标识表中的每一条记录。主键是数据库设计的核心概念,关系型...

    mysql双主主键冲突处理办法.docx

    MySQL 的 REPLACE INTO 语句可以处理主键冲突,它会删除与新插入记录主键值相同的旧记录,然后插入新记录。但是,这可能导致数据丢失,因为原有的行将被完全替换: ```sql REPLACE INTO your_table(primary_key_...

    mysql问题,常见的mysql面试问题

    ### MySQL常见面试问题详解 #### 1. MySQL简介与特性 - **MySQL**:MySQL是一种关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,目前由Oracle公司维护。它以其高性能、高可靠性和易用性著称,在互联网行业...

    goldengate同步无主键无唯一索引表的问题以及解决方案.docx

    在 GoldenGate 中,如果源表和目标表都没有主键或唯一索引,那么在同步数据时, GoldenGate 将无法正确地识别和处理数据的变化,从而导致数据同步出现问题。 二、环境描述 本文使用的环境是 GoldenGate 版本 11.2....

    MySQL AUTO_INCREMENT 主键

    ### MySQL AUTO_INCREMENT 主键详解 在数据库设计与应用中,主键是确保数据表每一行记录唯一性的关键机制之一。而`AUTO_INCREMENT`属性则是在MySQL数据库系统中为某些整数类型的主键自动分配唯一值的功能。下面我们...

    Mysql面试题主键自增

    在MySQL数据库系统中,主键自增是一种常见的数据表设计策略,它对于数据...了解并掌握这些关于MySQL主键自增的知识,将有助于在面试中表现出对数据库设计和管理的深入理解,也能在实际工作中更有效地管理和维护数据表。

    mysql_guid主键生成方式范例

    Hibernate会自动处理主键的生成和插入。 值得注意的是,虽然UUID在大多数情况下能保证全局唯一性,但其长度较长(36个字符),可能会影响数据库索引的效率。在某些场景下,可能需要考虑其他更高效的主键生成策略,...

    Mysql主键和唯一键的区别点总结

    在MySQL数据库设计中,主键和唯一键是两种重要的约束类型,它们用于确保数据的唯一性和完整性。了解它们之间的区别对于有效地设计数据库至关重要。 首先,让我们深入了解一下**主键**。主键是表中的一个或一组列,...

    Mysql主键相关的sql语句集锦

    以下是一些关于MySQL主键操作的详细知识: 1. **创建主键**: - 在创建表时指定主键:`CREATE TABLE table1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ...);` - 后添加主键:`ALTER TABLE table1 ...

    阿里大牛何sir 深入MySQL加锁处理分析

    在深入分析MySQL加锁处理之前,首先需要了解MySQL数据库的基本架构以及锁机制的相关概念。MySQL是一个支持插件式存储引擎的数据库系统,其中InnoDB存储引擎因其支持事务处理和外键约束而被广泛使用。本文将重点讨论...

    MySQL加锁处理分析@何登成1

    本节将对死锁原理和分析进行了详细的解释,死锁是 MySQL 加锁机制中的一种常见问题。 八、总结 本文对 MySQL 加锁处理进行了深入分析和讨论,对读者理解 MySQL 加锁机制的工作原理和实现方式有很大的帮助。

    MySQL数据库分表批量主键查询代理-mysql-partitions-proxy.zip

    MySQL数据库在处理大规模数据时,可能会遇到性能瓶颈,特别是在数据分片或分区后,进行主键查询时,问题更为突出。"MySQL数据库分表批量主键查询代理-mysql-partitions-proxy"项目就是为了应对这一挑战而设计的。这...

    MySQL的主键与唯一索引约束

    MySQL中的主键与唯一索引约束是数据库设计中至关重要的概念,它们确保数据的唯一性和完整性。主键是一种特殊的唯一索引,它定义了一个表的唯一标识,不允许有重复值且不能为空。唯一索引则允许有空值,但索引中的每...

    spring boot整合mybatis利用Mysql实现主键UUID的方法

    `tk.mybatis.mapper.common.IdsMapper`则提供了处理主键ID的基本操作。 在Mapper接口中,你可以像平常一样定义CRUD方法。由于使用了UUID作为主键,插入数据时MyBatis会自动为新记录生成一个UUID。例如: ```java ...

    详解MySQL 表中非主键列溢出情况监控

    之前踩到过MySQL主键溢出的情况,通过prometheus监控起来了,具体见这篇MySQL主键溢出复盘 这次遇到的坑,更加的隐蔽。 是一个log表里面的一个int signed类型的列写满了。快速的解决方法当然还是只能切新表来救急了...

    MySQL中如何处理重复数据(Duplicate)?

    在使用上述方法处理重复数据时,需要在表中定义相应的唯一键(主键或唯一索引),以便 MySQL 能够判断冲突并执行相应的操作。否则,MySQL 将无法判断冲突,导致数据插入失败。 四、应用场景 处理重复数据的方法在...

    MySQL DELETE 删除语句加锁分析1

    在MySQL中,DELETE语句的加锁行为是数据库事务处理的重要组成部分,尤其是在并发环境中,正确理解其加锁机制对于避免死锁和提高系统性能至关重要。本篇文章主要探讨了在不同隔离级别下,针对不同索引类型的DELETE...

    使用prometheus统计MySQL自增主键的剩余可用百分比

    一旦我们有了这些数据,我们可以设置Alertmanager告警规则,当剩余自增ID低于某个阈值时触发警报,确保我们能及时发现并处理可能的主键溢出问题。此外,我们还可以在Grafana这样的可视化工具上创建图表,实时监控...

    MYSQL文档完美中文版

    MySQL处理约束的方式:讨论MySQL如何处理表约束,包括外键、主键等。 5. MySQL安装和配置 5.1. MySQL支持的操作系统:列举MySQL可以运行的操作系统平台。 5.2. 安装MySQL:介绍MySQL数据库的安装流程,包括获取...

Global site tag (gtag.js) - Google Analytics