2009-06-30 29 views
21

Kiến thức SQL của tôi rất hạn chế, đặc biệt về SQLite, mặc dù tôi tin rằng đây sẽ là một số loại truy vấn chung ... Hoặc có thể không phải do tìm kiếm và thay thế ...Làm cách nào để cập nhật cơ sở dữ liệu SQLite bằng truy vấn tìm kiếm và thay thế?

Tôi có cơ sở dữ liệu âm nhạc này SQLite có nhiều lĩnh vực khác nhau nhưng những trường quan trọng ở đây là "media_item_id" và "content_url".

Dưới đây là một ví dụ về một "content_url":

file:///c:/users/nazgulled/music/band%20albums/devildriver/%5b2003%5d%20devildriver/08%20-%20what%20does%20it%20take%20(to%20be%20a%20man).mp3 

Tôi đang tìm kiếm một truy vấn mà sẽ tìm kiếm các mục như những người, trong đó "content_url" sau mô hình đó và thay thế nó ("content_url") với cái gì khác.

Ví dụ, một "content_url" chung có thể là thế này:

file:///c:/users/nazgulled/music/band%20albums/BAND_NAME/ALBUM_NAME/SONG_NAME.mp3 

Và tôi muốn thay thế tất cả những mục này với:

file:///c:/users/nazgulled/music/bands/studio%20albums/BAND_NAME/ALBUM_NAME/SONG_NAME.mp3 

Làm thế nào tôi có thể làm điều đó trong một truy vấn?

P.S: Tôi đang sử dụng Trình quản lý SQLite của Firefox (không thể tìm thấy giải pháp thay thế tốt hơn và miễn phí cho Windows).

Trả lời

42

Có thể bạn đang tìm kiếm chức năng replace.

Ví dụ,

update table_name set 
    content_url = replace(content_url, 'band%20albums', 'bands/studio%20albums') 
where 
    content_url like '%nazgulled/music/band_20albums/%'; 

Nhiều tài liệu tại http://sqlite.org/lang_corefunc.html

+0

lưu đêm của tôi! –

Các vấn đề liên quan