私は 2 つのテーブルを持っています。1 つは pictures という名前で、もう 1 つは media という名前です。テーブルには、いくつかのテキストを含むpictures
フィールドがあります。テーブルには、更新したい行があります。from tableの特定の文字列に対して正規表現を使用するテーブル media の行を更新する sql クエリを作成する必要があります。これは 1 つの sql クエリで実行できますか?description
media
url
url
description
pictures
質問する
4260 次
1 に答える
2
REGEXPを使用して文字列を検索することはできますが、結果を返すことはできません。それでよければ、次のようなことを試すことができます。
テーブルが次のようなものである場合:
create table media(media_id int, url varchar(200));
create table pictures(pic_id int, media_id int, description text);
あなたはこのようなことをすることができます:
UPDATE pictures p
LEFT JOIN media m
ON p.media_id = m.media_id
SET url='http://newurl.com/pic.jpg'
WHERE REGEXP '.*regexpString$';
URLの一部を置き換える必要がある場合は、次のことを試すことができます。
UPDATE pictures p
LEFT JOIN media m
ON p.media_id = m.media_id
SET url=REPLACE(url, 'olddomain.com', 'newdomain.com')
WHERE REGEXP '.*regexpString$';
于 2013-01-18T06:26:36.930 に答える