Вставить и установить значение с проблемами max () + 1

Я пытаюсь вставить новую строку и установить для customer_id значение max () + 1. Причина в том, что в таблице уже есть auto_increatment в другом столбце с именем id, а в таблице будет несколько строк с тем же customer_id.

При этом:

INSERT INTO customers
  ( customer_id, firstname, surname )
VALUES 
  ((SELECT MAX( customer_id ) FROM customers) +1, 'jim', 'sock')

... Я все время получаю следующую ошибку:

#1093 - You can't specify target table 'customers' for update in FROM clause

Также как я могу остановить одновременное добавление двух разных клиентов и не иметь одинаковых customer_id?

39
задан OMG Ponies 19 March 2011 в 04:55
поделиться