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的语句易学难精,很多比较复杂,可以从问题入手,一步一步学习和提升。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐