Вы можете исправить это, заменив это:
MAX(id)+1
с этим запросом выбора:
(SELECT MAX(id)+1 FROM employee)
Вот полный запрос:
INSERT INTO employee (id, name, state, supervisorId) SELECT (SELECT MAX(id)+1 FROM employee), 'Dan', state, supervisorId FROM employee WHERE name='Chris';
Обновление:
Хотя этот ответ решает общий вопрос о получении SELECT MAX в запросе INSERT, как предположил @RaymondNijland, лучше использовать большинство функций MySQL auto_increment. Для этого:
1) Создайте столбец первичного ключа с автоматическим приращением:
ALTER TABLE employee MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
2) Удалите идентификатор из вашего запроса вставки:
INSERT INTO employee (name, state, supervisorId) SELECT 'Dan', state, supervisorId FROM employee WHERE name='Chris';