テーブルの行をコピー/複製してから、新しい行の「id」値を返す必要があります。私の「id」列は自動インクリメント フィールドです。
$sth = $dbh->prepare("DROP TEMPORARY TABLE IF EXISTS tmp_users;
CREATE TEMPORARY TABLE tmp_users
SELECT * FROM users
WHERE user_id = $user_id
UPDATE tmp_users
SET id = NULL;
INSERT INTO users
SELECT * FROM tmp_users;
DROP TEMPORARY TABLE IF EXISTS tmp_users;");
$sth->execute();
これを行うと$id_new = $dbh->lastInsertId();
「0」が返されますが、理由はわかりません。何か案は?