Я бы НЕ сделал поле, которое ссылается на столбец в другой таблице, автоинкрементным столбцом.
Даже если столбец, на который он ссылается, является автоинкрементом, я не буду делать автоинкремент столбца. Будет трудно поддерживать синхронизацию столбцов. Если вставка откатывается в одну таблицу, но не в другую, вы не будете синхронизированы, пока не сбросите значение auto_increment.
Если это отношение 1 к 1, не стесняйтесь сделать столбец первичным ключом. Таким образом, он будет упорядочен по столбцу и обеспечит уникальные значения. Тем не менее, если любые два столбца должны совпадать, они не должны быть автоматически инкрементными, хотя они должны быть одного типа (например, INTEGER).
Например, вот наша исходная таблица, где первый столбец является целочисленным столбцом с автоинкрементом:
id customer_name email_address
---------------------------
1 jsmith jsmith@aol.com
2 bwilliams bwilliams@aol.com
Если вы хотите разделить email_address на свою собственную таблицу, в соотношении 1 к 1:
id email_address
---------------------------
1 jsmith@aol.com
2 bwilliams@aol.com
Я бы сделал первый столбец целочисленным полем и сделал бы его первичным ключом, но он НЕ был бы столбцом с автоинкрементом.
Чтобы вставить значения в такую таблицу, вы можете просто сделать это:
INSERT INTO table2
(id, email_address)
SELECT id, email_address
FROM table1
ORDER BY id