2010-11-19 17 views
3

Ich schreibe in PHP eine MySQL-Abfrage. Ich möchte eine Zeile in einer Tabelle in der Datenbank duplizieren. Ich möchte auch einen Zeitstempel einfügen, wann diese Duplizierung mit der NOW() - Funktion passiert ist.mysql einfügen mit einem Select

Wenn ich eine Tabelle mit den Feldern ‚Volk‘ in Wabenstruktur genannt hatte:

id, name, phone, dateCreated 

und ich diesen Rekord kopieren wollte ich folgendes tun würde:

INSERT INTO people (id, name, phone, dateCreated) 
SELECT id, name, phone, dateCreated 
FROM people 
WHERE id = '$id' 

Dies wird dupliziert den Datensatz identifiziert durch die $ id. Ich möchte dieses selbe Konzept tun, aber anstatt das dateCreated zu kopieren, möchte ich, dass die Abfrage das aktuelle datetime über die NOW() - Funktion einfügt, aber ich bin nicht sicher, wie man diese Art von Abfrage strukturiert.

Etwas wie:

INSERT INTO people (id, name, phone) 
SELECT id, name, phone 
FROM people 
WHERE id = '$id' 
(dateCreated) value (NOW()) 

Wie würde ich die Abfrage strukturieren?

Antwort

3
INSERT INTO people (id, name, phone, dateCreated) 
SELECT id, name, phone, NOW() 
FROM people 
WHERE id = '$id'