2013-12-16 3 views
1

Я хочу установить несколько записей в моей базе данных. Есть несколько записей, где поле last_login меньше, чем create_at. Итак, я хочу установить поле last_login_at для этих записей с помощью NULL.Обновить поле, где одно поле даты меньше, чем другое поле даты

Но запрос ниже его не работает.

update database.users 
set last_login_at = NULL 
where last_login_at < created_at; 

Я несколько тестов, запрос ниже работы:

SELECT * FROM database.users 
WHERE last_login_at < created_at; 

И этот запрос тоже работает:

UPDATE database.users 
SET last_login_at = NULL 
WHERE id = 10; 

Почему первый запрос не работает?

+1

Можете ли вы показать вашу БД схему? и какова ошибка? – Raptor

+1

первый запрос '... last_login_at Maksim

+0

Oh .-. 09:28:50 \t Код ошибки: 1175. Вы используете безопасный режим обновления, и вы попытались обновить таблицу без WHERE, которая использует столбец KEY. Чтобы отключить безопасный режим, переключите опцию в Preferences -> SQL Queries и заново подключите. \t 0.000 sec –

ответ

1

created_at не соответствует create_at. Ошибка связана с опечаткой.

Изменить это:

update database.users 
set last_login_at = NULL 
where last_login_at < created_at; 
+0

Извините, была ошибка, когда я набрал здесь. –

Смежные вопросы