2012-04-13 5 views
-1

Я хочу обновить, как это, но есть проблема с этим:MySQL UPDATE WHERE х <(SELECT WHERE)

UPDATE table 
SET data=1 
WHERE data2 < (
    SELECT MIN(data2) 
    FROM table 
    WHERE data2 < int 
    AND data=0 
) 

Ошибка: Вы не можете указать целевую таблицу «таблица» для обновления в ЕКЕ

Как это работает?

Я хочу, чтобы набор данных 1 в таблице, где data2 (метка времени) в одной таблице ниже, чем фактические отметки времени, и это самый низкий и в том, что данные строки равна 0

Благодаря

+1

Так что (точную) ошибку вы видите? – Aaron

+0

Есть проблемы с ур вопрос: :) – Stainedart

+1

Это хорошая идея, чтобы сказать именно то, что вы * хотите сделать *, вместо того, чтобы люди угадывают из кода, который вы уже сказали, неверно. –

ответ

0

Это немного трудно сказать из вашего примера, но если данные и данные2 соответствуют друг другу, почему бы и нет:

UPDATE table SET data=1 WHERE data2 < int AND data = 0 
+0

Я хочу установить данные в 1 в таблице, где data2 (timestamp) в той же таблице ниже фактической метки времени, и она является самой низкой и в этой строке данных 0 – Dopicsi