【发布时间】:2016-09-17 16:48:54
【问题描述】:
这里是Mysql表我想设置版本列如下。版本列需要更新数百万条记录
File_id |file_name | type | flag | original_file_id | version
1 |abc.jpg | FILE | RENAMED | 1 | 1
3 |folder1 | FOLDER | RENAMED | 3 | null
5 |folder1 | FOLDER | null | 3 | null
7 |abc1.jpg | FILE | null | 1 | 2
9 |abc1.jpg | FILE | DELETED | 1 | 2
11 |abc.jpg | FILE | MOVED | 1 | 3
13 |abc.jpg | FILE | null | 1 | 4
15 |xyz.jpg | FILE | null | 6 | 1
17 |xyz.jpg | FILE | DELETED | 6 | 1
19 |xyz.jpg | FILE | null | 6 | 2
我想像上面设置的那样设置版本。对于第一个文件,其中 file_id=original_file_id 然后版本=1。如果标志被删除,然后设置以前的版本,如版本 2。对于其他重命名,MOVED 增量版本。但它应该只更新用于文件而不是文件夹。
【问题讨论】:
-
你的表中的主键列是什么?
-
@JimMacaulay 抱歉,我已经更新了我的问题 file_id 是主键
-
@GordonLinoff 否,版本取决于标志和 original_file_id。并且版本与 original_file_id 不一样现在检查。
标签: mysql sql stored-functions