Я учу это для школы, и я в замешательстве. Я пытаюсь скопировать информацию между столбцами в одной таблице в одном db, все локально.ОБНОВЛЕНИЕ (B) из (A), если (B) = 0?
В основном:
(мне нужно перебрать и обновить все записи)
UPDATE `my_records`
SET `realname` = `name`
WHERE `realname` = 0;
SELECT * FROM `my_records` SET `realname` = `name` WHERE `realname` = 0;
Он продолжает говорить мне, что есть ошибка синтаксиса.
Теперь я понимаю, почему они просят меня узнать об этом. Каждая строка в таблице отличается, поэтому, когда я обновляю все столбцы, некоторые строки меняются, а это не так, что это не конечный результат. Я могу попытаться привести пример, но это меня смущает.
DB -> Таблица -> Строка 1 - содержит имя человека -> Row 2 - держит картину человека
- Обе вещи имеют имя (пример строки 1 David, Row 2 Flower.JPG)
Так что я предполагаю, что они хотят, чтобы я выяснил способ исключить обновление столбца «real_name» на строке 2, где изображение представляет собой JPG, GIF или PNG.
Я думаю, что конечный результат они ищут, когда таблица обновлена:
Row 1 «Давид» «David» Row 2 «flower.jpg»
Тогда это петли снова и снова снова для всех записей.
Вы написали правильное утверждение 'update' в своем вопросе. Если это псевдокод, вы должны попробовать ... – sgeddes
Можете ли вы проверить, используете ли вы правильный тип данных для реального имени в соответствии с тем, что, как я думаю, вы передаете целое число, и может иметь различный тип данных. – Naruto
Предполагая, что 'name' является полем в таблице, это ключевое слово зарезервировано для mysql, поэтому должно быть указано в обратном направлении, то есть' \ 'realname \' = \ 'name \' '. Полный список https://dev.mysql.com/doc/refman/5.5/en/keywords.html – Tristan