2015-07-28 6 views
1

Я пытаюсь обновить таблицу столбец из другой таблицы. Я не хочу просматривать соединение, я хочу изменить таблицу.MSQL alter table with JOIN

Однако это faiing:

UPDATE 
a_dataset 
SET 
a_dataset.lang_flag = b_dataset.language 
FROM 
a_dataset 
INNER JOIN 
b_dataset 
ON 
a_dataset.ID = b_dataset.ID 

Однако я получаю ошибку синтаксиса, и не может найти то, что мне не хватает?

+3

не говорите 'alter table'. Вы ОБНОВЛЯЕТ таблицу. 'alter' меняет свою структуру. –

+0

и 'update' запросы не имеют предложения' from': https://dev.mysql.com/doc/refman/5.0/en/update.html –

+1

Первая проблема - это начало имен таблиц с числами. – Uueerdo

ответ

1

Я предполагаю, что вы хотите обновить свои записи, когда говорите alter the table. Если да, то вы можете просто переписать заявление обновления с присоединиться, как это:

UPDATE a_dataset a 
JOIN b_dataset b ON a.ID = b.ID 
SET a.lang_flag = b.[LANGUAGE] 
0

Как Uueerdo и я сказал: Начиная имена таблиц с числами плохой идеей [TM]. То же самое касается писем, которые вы теперь выбрали для использования. a не лучше 1 в этом отношении. Также вызов таблиц просто «набор данных» тоже не очень полезен. Что такое таблица хранения? Пользователи? Затем назовите его пользователями. Статьи на новостном сайте? Затем назовите это статьи. И так далее. Все в базе данных - это набор данных, не нужно никому рассказывать.

Я думаю, вы новичок в SQL, я прав? Потому что другая проблема: если вы не собираетесь отбрасывать таблицу b_dataset после этой команды, вы, вероятно, делаете то, чего не должны делать в реляционных базах данных. Вся идея состоит в том, чтобы хранить все данные только один раз. Если вы можете автоматически копировать столбец из b в a, тогда вы также можете выбрать join, если из a и b, когда вам это нужно, вместо копирования.

Для изучения SQL (или чего-либо еще), переполнение стека, вероятно, является плохим местом (это хорошо для того, чтобы задавать вопросы в процессе), поэтому я рекомендую вам пойти с тем, у кого есть некоторый опыт работы в SQL, чтобы научить вас , или получить книгу/учебник по SQL. С первого взгляда, похоже, это хорошая он-лайн книга: http://sql.learncodethehardway.org/ - но я ее не читал.