I assume you want to do this within PHP and not native Sql?
Copy sqlSet function below. You could then, for example, code:
// Get data into an associative array by whatever db extraction level you are using with query like:
// SELECT * FROM table-name WHERE id = 123
// and put data in assoc array $data. Then...
unset($data['id']);
$query = 'INSERT INTO table-name SET '.sqlSet($data);
// The auto increment will automatically create a new key for you of course.
function sqlSet($assoc_arr, $drop_blanks=false, $quote="'") { $s = ''; $comma = ''; foreach ($assoc_arr as $fld => $val) { if ($drop_blanks and $val == '') continue; // continue. $s .= $comma.$fld.'='.$quote.addslashes($val).$quote; $comma = ','; } return $s; }
Hope this is useful for you. Ross.
Mailing-List: contact php-db-help@xxxxxxxxxxxxx; run by ezmlm list-help: <mailto:php-db-help@xxxxxxxxxxxxx> list-unsubscribe: <mailto:php-db-unsubscribe@xxxxxxxxxxxxx> list-post: <mailto:php-db@xxxxxxxxxxxxx> Delivered-To: ezmlm-php-db@xxxxxxxxxxxxx DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com;
h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding;
b=c6RgUFIIvBsRYq64JatajUSYyyYdWVyJJoWas+jwP/1Ha3StmHkLkMujDX7NSjz3yGKk3nERcTIHXuh6SKs3x2q1uKbjnP/SMbYrezopJjhE8AIfony+D+0Bg3+vvj/2PAZb5So+71WojUcehcR9/Ayv/MTaDp0w0vbdTydari0= Date: Wed, 8 Dec 2004 10:46:44 -0500 From: blackwater dev <blackwaterdev@xxxxxxxxx> Reply-To: blackwater dev <blackwaterdev@xxxxxxxxx> To: php-db@xxxxxxxxxxxxx Subject: select particular columns in query
Hello,
I want to create a new row in the db by copying an existing one. My db has an auto incrementing id so I can't simply do insert into cars select * from cars where id=$id as this throws the primary key error. How can I do this with out specifying each column?
Thanks!
-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
. . Ross Honniball. JCU Bookshop Cairns, Qld, Australia. .
-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php