2009年7月 6日

[mysql 14957] Re: 複雑なdeleteの書き方

柳本です。

delete from [テーブル名]
where user_id in (
select user_id from [テーブル名]
where page_id = 1
and created + cast('7 days' as interval) > now()
)


こうですか?わかりません><

tysmk さんは書きました:
> お世話になっております。
>
> 以下のようなテーブルがあったと仮定します。
>
> id int auto_increment,
> user_id int,
> page_id int,
> created date,
> primary key(id),
> unique key(user_id,member_id,page_id)
>
> このテーブルから
> page_id=1 and created+ intarval 7 day > now()
> がtrueの場合、該当するuser_idのすべてを削除したいのですがどのように書け
> ばいいでしょうか?
>
> わかりやすく書くと舌のようにデータが入っていた場合、消えるのは
> id = 1 and id = 4
> になります。
>
> id user_id page_id created
> 1 1 1 2009-06-15
> 2 2 3 2009-07-05
> 3 2 1 2009-07-05
> 4 1 2 2009-07-05
>
>
> ご教示お願いいたします。
>

投稿者 xml-rpc : 2009年7月 6日 17:12
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86418
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。