如何解决如何在不丢失数据的情况下自动增加该表?
| 我的活动数据库中有一个表,其中包含数千条记录。 今天早上跟踪一个错误,我发现表\“ id \”列未设置为auto_increment,所以我有1000条ID = 0的记录。 :( mysql>解释feed_items; + -------------- + -------------- + ------ + ----- + ------ --- + ------- + |领域|类型空|关键默认值|额外| + -------------- + -------------- + ------ + ----- + ------ --- + ------- + | id | int(11)|否| | 0 | | | feed_id | int(11)|是的MUL | NULL | | |标题| varchar(255)|是的| NULL | | |描述|文字|是的| NULL | | | item_link | varchar(255)|否| | NULL | | | item_updated |日期时间|是的| NULL | | | item_id | varchar(255)|是的| NULL | | | created_at |日期时间|是的| NULL | | | Updated_at |日期时间|是的| NULL | | | is_hidden | int(11)|是的| 0 | | + -------------- + -------------- + ------ + ----- + ------ --- + ------- + 奇怪的是,较旧的记录似乎已自动递增。因此,我的记录中有一半具有预期的ID,其中一半没有 我要做的是将此列设置为auto_increment,然后运行执行以下操作的语句: 接受id为0的所有feed_items,由created_at ASC排序 对于这些项目,我想将其ID设置为上一个项目的ID + 1 我对SQL不太热衷,也不想破坏实时服务器上的数据。 有人可以建议吗?解决方法
根据表的大小以及使其脱机的可能性,您可以简单地创建具有相同字段模式的第二张表并插入选择数据...
INSERT INTO _YourSecondTableName_ (feed_id,title,description,item_link,item_updated,item_id,created_at,updated_at,is_hidden)
SELECT feed_id,is_hidden
FROM _YourFirstTableName_
ORDER BY created_at ASC
然后可以删除原始表并重命名新表...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。