Без общий столбец, чтобы присоединиться, я не думаю, что вы будете в состоянии доверять результатам (как насколько я знаю, MySQL делает не гарантирует, что строки возвращаются в том порядке, в котором они вставлены).
Но быть техническим, я думаю, что вы можете достичь этого следующим образом: Не на самом деле это сделать, смотрите ниже
ALTER TABLE table_a ADD COLUMN zipcode unsigned int;
ALTER TABLE table_a ADD COLUMN id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL;
ALTER TABLE table_b ADD COLUMN id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT NOT NULL;
UPDATE table_a JOIN table_b USING(id) SET table_a.zipcode = table_b.zipcode;
Простите, если мой синтаксис выключен, это было какое-то время ,
Этот метод использует то, что я думаю, что MySQL делает, когда вы добавляете столбец с ненулевым атрибутом auto_increment: он заполняет значения для вас, одно уникальное значение для каждой строки. Теперь у вас есть столбец соединения и можно выполнить обновление.
Однако я сформулирую это еще раз, чтобы быть очень ясным: если между таблицами нет дополнительных столбцов, у вас нет абсолютно точного способа объединения этих двух таблиц. Вам понадобится либо общий столбец объединения, либо, по крайней мере, каждый из них имеет столбец auto_increment и гарантию того, что все почтовые индексы и города, где они были введены в соответствующие пары транзакций.
Ваших таблицы не имеют какие-либо общие столбцов, чтобы присоединиться на? – Mat
Не могли бы вы описать способы их родства? были ли они вставлены в том же порядке? Есть ли столбец, который вы не описали? –
@ctrahey Так же, как добавить table_a в новый столбец под названием zipcode и вставить data = array (23675,11290) из строки 1 – miket