Jeśli user_id
jest kluczem podstawowym AUTO_INCREMENT, nie możesz tego zrobić za pomocą pojedynczej instrukcji, nawet jeśli używasz wyzwalacza.
Problem polega na tym, że wartość AUTO_INCREMENT jest generowana dopiero po BEFORE INSERT
wyzwalacz działa, ale nie możesz zmienić username
w AFTER INSERT
wyzwalacz.
Musisz tylko wykonać INSERT
, a następnie natychmiast wykonaj UPDATE
.
Jeśli user_id
jest nie AUTO_INCREMENT, ale zamiast tego jest to coś, co sam określasz, to jest łatwe, po prostu wykonujesz konkatenację w swoim kodzie PHP, zanim przekażesz wartości jako parametry.
Aktualizacja:Nie możesz tego zrobić również z kolumnami generowanymi przez MySQL 5.7. Powoduje to ten błąd podczas próby utworzenia tabeli: