mysql 如何修改 删除 添加 表主键

1  创建表:

create table 表名称(字段1 类型(长度) 约束,

         字段2 类型(长度) 约束,

         字段3 类型(长度) 约束,

         字段4 类型(长度) 约束,

          primary key(字段4)

        );

2 如果发现主键设置错了,应该是字段1是主键,但如今表里面已经有好多数据了,不能再删除表再重建了,仅仅在这基础上改动表结构。

  2-1先删除主键:alter table 表名称 drop primary key;

  2-2在增加主键 :alter table 表名称 add primary key(字段1);      

原文地址:https://www.cnblogs.com/quchengjie/p/10421665.html

时间: 2024-11-10 14:27:22

mysql 如何修改 删除 添加 表主键的相关文章

批量删除 添加 表主键 sql-- 存储过程

sql 批量操作添加/ 删除 表主键 直接上代码把:  是存储过程哦 , GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc [dbo].[prc_name] (@nameinfo nvarchar(50) output)AS declare @Key NVARCHAR(MAX) --创建参数 返回创建主键declare @tab NVARCHAR(MAX) --创建参数 返回 表declare @tabs NVARCHAR(MAX

删除ORECLE表主键ID的索引

假如有个表:T_GOODS_LIST,主键索引是:PK_GOODS_LIST_ID,有个普通索引:IDX_GOODS_TYPE. 删除普通索引SQL: DROP INDEX IDX_GOODS_TYPE 删除主键索引: 因为通常我们会给主键ID一些约束,索引直接删除的话会出错,我们应该先接触ID的约束关联: ALTER TABLE T_GOODS_LIST DROP CONSTRAINT PK_GOODS_LIST_ID 原文地址:https://www.cnblogs.com/whx20100

mysql 表主键类型由int 改为bigint

需求:由于业务的需要,tmp_employees的emp_no主键字段类型为int已经不能满足业务的需求,此时需要将该表主键字段类型由int 更改为 bigint 使用工具:pt-online-schema-change ./pt-online-schema-change  --user=root --password=root456 --recursion-method="processlist" --alter="modify column emp_no bigint n

Mybatis框架(9)---Mybatis自定义插件生成雪花ID做为表主键项目

Mybatis自定义插件生成雪花ID做为主键项目 先附上项目项目GitHub地址 spring-boot-mybatis-interceptor 有关Mybatis雪花ID主键插件前面写了两篇博客作为该项目落地的铺垫. 1.Mybatis框架---Mybatis插件原理 2.java算法---静态内部类实现雪花算法 该插件项目可以直接运用于实际开发中,作为分布式数据库表主键ID使用. 一.项目概述 1.项目背景 在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 主

SQLITE数据表主键设置Id自增方法

SQLITE数据表主键设置Id自增方法 标签: sqliteintegerinsertnulltableapi 2010-01-12 08:39 35135人阅读 评论(8) 收藏 举报  分类: SQL(11)  版权声明:本文为博主原创文章,未经博主允许不得转载. 搞定了一个困扰许久的问题,原来sqlite中的主键也是可以设置为自增的:)方法就是声明为 INTEGER PRIMARY KEY 的字段可以自动增加.    网上查到资料说,从 SQLite 的 2.3.4 版本开始,如果将一个表

主表和子表主键设计

将主表主键设置为ID,另外将子表主键设置为AID,子表的外键ID和主表一样.那么当发生对主表记录进行删除操作,可以方便的对关联的子表数据一并删除! declare @selectStr nvarchar(1000) set @selectStr='delete from Bdrdrecord11 ' + @searchString+' delete from Bdrdrecords11 '+@searchString exec (@selectStr)

MySQL数据库使某个不是主键的字段唯一

在使用MySQL数据的过程中有时候我们需要某个不是主键的字段不重复,这个时候就要用到SQL的UNIQUE约束了. 下面摘抄自w3school里的一段介绍: UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 UNIQUE 约束. 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束. 下面在 "Persons" 表创建时在

使用GUID作为数据表主键的好处(转)

http://blog.itpub.net/3875/viewspace-789520/ 分类: 数据库开发技术 使用GUID作为数据表主键的好处 [@[email protected]] 使用GUID作为数据表主键的好处 数据表主健通常采用以下三种方式: 1.         自动递增值. 2.         唯一名称.这个是使用自己定义的算法来生成一个唯一序列号. 3.         GUID(全局唯一标识符). GUID与自动递增值及唯一名称比较 GUID 在客户端生成,由GUID的特

MYSQL中delete删除多表数据

MYSQL中delete删除多表数据DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释:1. delete from t1 where 条件2.delete t1 from t1 where 条件3. delete t1 from t1,t2 where 条件4.delete t1,t2 from t1,t2 where 条件前 3者是可行的,第4者不可行.也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除 关系,则