Как ОБНОВИТЬ с SELECT WEEK () в той же таблице, более 1 строки [mysql] - PullRequest
0 голосов
/ 30 апреля 2020

Это мой код

UPDATE ks_tidy SET announcedWeek = (
SELECT week(dateAnnounced) as weekAnnounced 
FROM ks_tidy ) WHERE announcedWeek = ''

, и проблема, с которой я сталкиваюсь, не работает, когда я пытаюсь обновить более 1 строки?

1242 - Подзапрос возвращает более 1 строки

В моей таблице два столбца: dateAnnounded (DATE [гггг-мм-дд], UNIQUE, PRIMARY KEY), weekAnnounded (INT). В хранилище weekAnnounce добавлен столбец weekAnnounded, который я пытаюсь «вычислить» с помощью функции WEEK () SQL. У меня есть тысячи строк данных, и эта таблица регулярно обновляется, поэтому делать это вручную нельзя.

1 Ответ

0 голосов
/ 30 апреля 2020

Я не понимаю, почему вы думаете, что вам нужен подзапрос для этого

UPDATE ks_tidy SET announcedWeek = week(dateAnnounced) 
WHERE announcedWeek = ''

Если это не так, пожалуйста, добавьте примерные данные и ожидаемый результат в виде текста к вопросу. И вы должны проверять на ноль, а не ''? И вам действительно нужно хранить легко получаемые значения?

...