gpt4 book ai didi

mysql - 创建非破坏性 mysql 查询,能够创建表或更新缺少字段的表

转载 作者:行者123 更新时间:2023-11-30 00:31:04 26 4
gpt4 key购买 nike

我已经从 phpMyAdmin 导出了一个数据库(仅结构),我想将其用作脚本的基础,该脚本可以更新同一数据库结构的先前版本并添加列和表(如果它们不存在)。

例如,如果 CREATE TABLE 语句如下所示:

--
-- Table structure for table `users`
--

CREATE TABLE IF NOT EXISTS `users` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(52) NOT NULL,
`password` varchar(40) NOT NULL,
`dev` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21;

如何调整此设置,以便如果表中的字段不存在,即使数据库中已存在该表,也会创建该字段。

此脚本的目的是允许更新现有数据库,添加可能丢失的列,但不应删除任何表或字段。

最佳答案

根据this ,似乎完成此操作的最简单方法是创建一个临时表(我不一定指的是 TEMPORARY 类型,只是使用时间较短且有限;尽管在大多数情况下,这里 TEMPORARY 类型可能是一个合理的选择),将数据从旧表复制到临时表,使用更新后的结构创建新表,然后从临时表中恢复所有内容。最后,您的脚本可能会将旧表重命名为备份,或者完全删除它和临时表。

关于mysql - 创建非破坏性 mysql 查询,能够创建表或更新缺少字段的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22517863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com