首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于在MySQL中从数据库的多个表中删除主键的脚本

用于在MySQL中从数据库的多个表中删除主键的脚本
EN

Stack Overflow用户
提问于 2021-04-26 16:23:56
回答 1查看 57关注 0票数 0

我的数据库中有许多表,每个表都有主键、唯一键和自动增量。我想要删除所有这三个。如何在脚本中执行此操作,而无需为数据库中的每个表手动执行此操作。有没有自动脚本可以一次删除数据库的所有表中的所有这些内容。

(来自评论)

代码语言:javascript
复制
CREATE TABLE emp3 (
    id int NOT NULL, 
    name varchar(30) DEFAULT NULL, 
    PRIMARY KEY (id), 
    UNIQUE KEY c_unique (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
EN

回答 1

Stack Overflow用户

发布于 2021-04-27 05:18:40

如果您使用的是ENGINE=InnoDB,那么您确实需要在每个表上都有一个PRIMARY KEY

如果在表之间使用JOINs,则需要避免丢弃JOINing所在的列。

PK、unique key和AI列在表中的命名是否一致?

请向我们展示一个示例SHOW CREATE TABLE,以便我们可以根据您的需求量身定做答案。

答案将包括以下内容

代码语言:javascript
复制
SELECT
    CONCAT("ALTER TABLE ", table_name, "... ;")
    FROM information_schema
    WHERE table_schema = 'db_name';

以及如何使用"mysql“命令行工具或存储的proc来执行所创建的命令的说明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67263197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档