BiCorpus是北京语言大学韩林涛老师研制一款在线语料库网站,可以通过上传tmx文件,实现在线检索功能,程序在github上开源免费,深受广大网友的喜欢。
在使用过程中,我发现我上传的语言资产经历修改后,mysql的数据库的ID从41开始的,于是我就想使用sql语句把它从1开始。
借助把网站转移到新平台之际,我和chatgpt进行对话,终于实现了这个想法。
一、备份数据库
在进行数据修改之前,建议备份原表数据,以免数据丢失。如果操作不成功,还可以利用sql命令进行恢复。
CREATE TABLE tmdata_backup AS SELECT * FROM tmdata;
二、通过用户变量生成递增的 id:
通过用户变量生成递增的 ID,首先通过set命令设置一下变量,然后用update更新数据库的ID。
SET @new_id = 0;
UPDATE tmdata SET id = (@new_id := @new_id + 1) ORDER BY id;
三、验证数据
执行以下select语句检查修改结果,是不是从0开始编号的。
SELECT * FROM tmdata;
四、注意事项
1. 确保表中 id 没有外键引用其他表,否则需要先处理这些外键。
2. 如果表数据量较大,网站访问量又比较高的话,建议在非高峰期进行操作,以免影响网络性能。
五、效果展示
修复前
修复后
六、学后反思
1. 编程学习中可能会遇到各种问题,关键时要临危不乱,善于搜索和发问,找到解决问题的方法。
2. SQL的语句易学难精,很多比较复杂,可以从问题入手,一步一步学习和提升。