`
mhtbbx
  • 浏览: 36293 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

mysql更改主键

阅读更多
1修改数据库和表的字符集
alter database maildb default character set utf8;//修改数据库的字符集
alter table mailtable default character set utf8;//修改表的字符集
如果您想要把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集,应使用如下语句:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
警告:前面的操作转换了字符集之间的列类型。如果您有一列使用一种字符集(如latin1),但是存储的值实际上使用了其它的字符集(如utf8),这种情况不是您想要的。此时,您必须对这样的列进行以下操作。
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
这种方法能够实现此功能的原因是,当您转换到BLOB列或从BLOB列转换过来时,并没有发生转换。
2 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;
3 删除自增长的主键id
先删除自增长在删除主键
Alter table tb change id id int(10);//删除自增长
Alter table tb drop primary key;//删除主建
分享到:
评论

相关推荐

    mysql--修改自增主键的初始值.txt

    mysql修改自增主键初始值,简单易操作,数据库维护小技巧。

    Python3 操作 MySQL 插入一条数据并返回主键 id的实例

    在Python3中操作MySQL数据库并插入一条数据,然后获取并返回这条数据的主键id是数据库编程中常见的需求。这一过程可以分为几个关键步骤:数据库连接、执行插入操作、获取主键id以及事务提交。下面详细说明每个步骤...

    MySQL 创建主键,外键和复合主键的语句

    本文将详细介绍如何在MySQL中创建主键、外键以及复合主键。 1. **创建主键** 主键是数据库表中一个或一组字段,其值在全表中具有唯一性,并且不能为空。它用于唯一标识表中的每一行记录。在MySQL中,创建主键的...

    Mysql主键相关的sql语句集锦

    2. **修改主键**: - 如果主键为单一字段,可以使用如下语句修改字段类型:`ALTER TABLE table1 MODIFY COLUMN id INT(11) NOT NULL AUTO_INCREMENT;` - 当主键包含多个字段时,需先删除现有主键,再添加新的:`...

    MySQL的主键与唯一索引约束

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

    mysql非主键自增长用法实例分析

    然而,许多初学者误以为自增长特性只能应用于主键,实际上,MySQL允许在非主键列上设置自增长,只要该列被定义为唯一键。 首先,让我们来看看如何创建一个非主键自增长的表。创建一个名为`t1`的表,包含两列`id`和`...

    MySQL AUTO_INCREMENT 主键

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

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

    表中的主键值很少更改,因此在选择主键是需要小心,要选择很少发生更改的地方。一个表的主键可以被另一个表的外键引用。 为了更好地理解主键,我们创建一个名为Student的表,它具有roll_number、name、batch、phone_...

    MySQL索引之主键索引

    - 不变性:主键值一旦设定,不应更改,以减少因值变化导致的行移动。 - 避免动态更新:不选用会随时间变化的类型,如当前时间戳,以防止频繁更新索引。 2. 辅助索引(SECONDARY KEY) 辅助索引,也称为普通索引,...

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

    综上所述,处理 MySQL 双主主键冲突通常涉及查找冲突数据、修改现有数据、使用 REPLACE INTO 或 INSERT IGNORE INTO 语句,以及优化复制策略。根据具体需求和业务场景,选择最适合的解决方案以确保数据的一致性和...

    MySQL修改密码方法总结

    `REPLACE INTO`语句与`UPDATE`类似,但其主要作用是在插入新记录时若主键或唯一索引冲突,则先删除旧记录再插入新记录: ```sql REPLACE INTO mysql.user (Host, User, Password) VALUES ('localhost', 'root', ...

    mysql修改自增长主键int类型为char类型示例

    在MySQL数据库中,主键是表的一个重要组成部分,它用于唯一标识每条记录,并且通常设置为自动增长的整数类型,如INT。然而,在某些业务场景中,可能需要将已有的自增长主键INT类型改为CHAR类型。这通常发生在需要更...

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

    上述描述中提到了一种通过脚本来监控MySQL中非主键列是否接近最大值的方法。这个脚本分为两个部分:`check.sql` 和 `check.sh`。 `check.sql` 是SQL查询脚本,它遍历所有非系统表(避开information_schema等)中的...

    MySQL中主键为0与主键自排约束的关系详解(细节)

    - 如果将已有主键值更改为0,系统会将这个值视为新的主键值,并根据已有的主键排序,可能导致0值出现在其他非0主键值之前。 总结起来,主键自排约束与主键为0的关系主要体现在以下几点: - 已存在的0值不会因添加...

    C#链接MySql最全帮助类,DbHelperMySQL.cs

    数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库。 已完成所有数据库操作方法的封装,如:添加、修改、查询、删除、事物查询、存储过程等十几个方法,可供直接使用,使C#开发人员...

    国家开放大学 MySQL数据库应用 实验训练1 在MySQL中创建数据库和表

    配置文件位于 C:\ProgramData\MySQL\MySQL Server 8.0 目录下,需要找到 my.ini 文件,并修改 default-character-set 和 character-set-server 的值为 utf8。 知识点 3:创建数据库 在实验 1-2 中,学生需要使用 ...

    mysql-oracle数据同步

    描述中提到的"同时修改mysql数据表标识"可能是指自增主键。在MySQL中,我们通常使用`AUTO_INCREMENT`属性来定义自增主键,而在Oracle中,可使用`SEQUENCE`对象来生成序列号。在数据同步过程中,如果需要保持两个...

    MySQL教程.docx

    * MySQL 修改数据库 * MySQL 删除数据库 * MySQL 选择数据库 * MySQL 注释 * MySQL 中 SQL 语句的大小写规则 * 如何查看 MySQL 系统帮助? 知识点5:数据库设计 * 数据库设计概述 * 数据库设计步骤 * 实际应用中,...

Global site tag (gtag.js) - Google Analytics