存储在数据库中时向上移动数据

时间:2017-08-12 19:45:10

标签: python python-2.7

我需要一些关于代码的帮助,我使用代码写入数据以在数据库中输入数据,我将数据从与其他数据相同的行向下移动。

示例:

================================================================
name  | start_date | stop_date | program_id | programme_title |
================================================================
channel 1                          3001       some name 1
channel 1                          3002       some name 2
channel 1                          3003       some name 3

以下是将program_id移动到下一行的内容:

================================================================
name  | start_date | stop_date | program_id | programme_title |
================================================================
channel 1                                     some name 1
channel 1                          3001       some name 2
channel 1                          3002       some name 3

这是我使用的代码:

def update_in_database(self):
     profilePath = xbmc.translatePath(os.path.join('special://userdata/addon_data/script.tvguide', 'source.db'))
     conn = database.connect(profilePath)
     cur = conn.cursor()
     program_id = ''.join(str(x) for x in self.program_id)
     cur.execute('SELECT channel, program_id FROM programs')
     data = cur.fetchone()

     if data is not None:
         value = program_id
         for i in range(0,10):
             if value == program_id:
                 cur.execute("UPDATE programs set program_id=? WHERE program_id=?",('',value))
             else:
                 cur.execute("UPDATE programs set program_id=? WHERE program_id=?",(value-1,value))
             value = int(value) + 1
         cur.execute("SELECT channel , stop_date FROM programs WHERE program_id=?;",(value-2,))
         data = cur.fetchone()
         try:
             cur.execute("UPDATE programs set program_id=? WHERE channel=? and start_date=? ",(value-1,data[0],data[1]))
         except:
             pass
         conn.commit()
         conn.close()

我想知道如何将数据移动到与我使用的代码相反的方向,因为我想要移动数据?

示例:

================================================================
name  | start_date | stop_date | program_id | programme_title |
================================================================
channel 1                                     some name 1
channel 1                          3001       some name 2
channel 1                          3002       some name 3

以下是将program_id移动到下一行的内容:

================================================================
name  | start_date | stop_date | program_id | programme_title |
================================================================
channel 1                          3001       some name 1
channel 1                          3002       some name 2
channel 1                          3003       some name 3

你知道我怎么做吗?

0 个答案:

没有答案