MySQL 照片库脚本要求我通过将每个图像标题与代表所需顺序的数字配对来提供图库的显示顺序。
<小时/>我有一个名为 pairs_list.txt
的正确排序数据列表,如下所示:
# title correct data in list
-- -------
1 kmmal
2 bub14
3 ili2
4 sver2
5 ell5
6 ello1
...
因此,kimmals
图像将首先显示,然后是 bub14
图像,依此类推
我的名为 title_order
的 MySQL 表具有与上面相同的标题,但它们没有与正确的数字配对:
# title bad data in MySQL
-- -------
14 kmmal
100 bub14
31 ili2
47 sver2
32 ell5
1 ello1
...
<小时/>
如何制作一个 MySQL 脚本来查看 pairs_list.txt
中正确的数字-标题配对,并遍历 title_order
的每一行,将每一行替换为正确的数字?换句话说,如何使MySQL表的顺序看起来像文本文件的顺序?
在伪代码中,它可能看起来像这样:
- 获取 MySQL 行标题
- 在
pair_list.txt
中搜索此标题 - 获取列表中正确的数字-标题对
- 将 MySQL 编号替换为正确的编号
- 对所有行重复此操作
感谢您的帮助!
最佳答案
如果这不是一次性任务而是会被频繁调用的函数,那么也许您可以遇到以下场景:
- 创建一个临时表,使用 mysql load data infile 将pairs_list.txt 中的所有值插入到该临时表中功能。
- 在该临时表上创建一个过程(或者可能是插入触发器?),它将根据插入的内容更新主表。
- 在该过程(或插入触发器)中,我将让游标从临时表中获取所有值,并针对该游标中的每个值更新主表上选定的标题。
- 从该临时表中删除所有内容
关于MySQL:从文件关联重新排序行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9883135/