mysql - 从 MySQL 中数据库的多个表中删除主键的脚本
问题描述
我的数据库中有很多表,每个表都有主键、唯一键和自动增量。我想删除所有这三个。我如何在脚本中执行此操作,而无需为数据库中的每个表手动执行。是否有任何自动化脚本可以一次将所有这些内容删除到数据库的所有表中。
(来自评论)
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
解决方案
如果你正在使用ENGINE=InnoDB
,那么你真的需要PRIMARY KEY
在每张桌子上都有一个。
如果您JOINs
在表之间有,则需要避免删除您所在的列JOINing
。
PK、唯一键和 AI 列在表中的命名是否一致?
请向我们展示一个示例SHOW CREATE TABLE
,以便我们根据您的需求量身定制答案。
答案将包括类似
SELECT
CONCAT("ALTER TABLE ", table_name, "... ;")
FROM information_schema
WHERE table_schema = 'db_name';
加上有关如何使用“mysql”命令行工具或存储过程来执行创建的命令的说明。
推荐阅读
- reactjs - 单击父组件从子组件获取数据
- c++ - 如何加载 PE 文件以进行 Process Hollowing?
- python - 提取数据框并更改列值
- r - 如何编写具有多个分隔符 [R] 的 txt 文件?
- javascript - 每次div达到最大高度时如何调用函数?
- javascript - 仪表板中未启用重定向到 Checkout 的域 (C:/../index.html) [Stripe API]
- javascript - 在表单上填写密码时,我的注册按钮消失了
- java - 我在哪里添加一个 main 方法以便我可以正确运行这个程序?
- flutter - 如果颤动,如何将大文本(大小不同)呈现为具有水平滚动的多个页面?
- sql - 与 group by (Sum) 的多个联接