MySQL Issue Копирование из одной таблицы в другую напрямую - PullRequest
0 голосов
/ 01 октября 2010

Я использую следующий код для копирования из одной таблицы непосредственно в другую:

$ Transfer = $ db-> exec ("INSERT INTO table2 SELECT * FROM table1 WHERE groupname = '$ gname'");

Однако проблема, с которой я столкнулся, заключается в том, что поле идентификатора обеих таблиц не обязательно совпадает (оба с автоинкрементом), и иногда это может означать, что идентификатор # одного временного стола выше, чем в итоговой таблице.

Я использую php, pdo и mysql.

Есть ли способ обойти это?

Ответы [ 3 ]

2 голосов
/ 01 октября 2010

Объясните, какие столбцы вы хотите:

"INSERT INTO table2 (`col_1`,`col_2`) SELECT `col_1`, `col_2` FROM table1 WHERE groupname = '$gname'"
0 голосов
/ 01 октября 2010

Вы также должны знать, что MySQL блокирует вставки в таблицу выбора:

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

0 голосов
/ 01 октября 2010
"INSERT INTO final_table SELECT * FROM temp_table WHERE temp_table.groupname = '$gname'"

Где здесь проблема?Если оба параметра имеют значение auto_increment и, как вы сказали, id temp_table имеет значение HIGHER, чем perm_table, вы получите правильный эффект.

...