Computer Webmaster Gaming Console Graphics Forum

Welcome to the Computer Webmaster Gaming Console Graphics Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

MK PitStop Main Earn $25 Earn Money Posting Extras Members Blogs Image Hosting User Pages
Go Back   Computer Webmaster Gaming Console Graphics Forum > Webmaster Forum > Website Coding > Database
Register FAQ/Rules Become A V.I.P. Member Search Today's Posts Mark Forums Read

Database Database problems or need to ask a question? maybe something to do with sql injections or a database software question. Database topics cover MySQL, PostgreSQL, Oracle, SQL Server or anything else related to databases.

Google
Closed Thread
 
LinkBack Thread Tools Display Modes
Old 07-02-2007, 10:58 AM   #1
GA
 
GA's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Copying Table Data For Archive



Basically, I want to create a system where I am archiving data -
copying it from the active tables to the archive tables.

I am setting this up so that any user can do it, not just someone
technical like me.

I am wondering if there is a way to copy multiple data sets with
conditions into multiple data tables without doing a loop. Something
like this:


INSERT INTO archive_a, archive_b SELECT * FROM a, b WHERE b.lid = 10
AND a.tid = b.tid

Though this doesn't really work. 'tid' and 'lid' are just identifiers
to match up the data between tables.

Any suggestions?

Thanks,

GA
 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Advertisements
Old 07-02-2007, 10:58 AM   #2
Kees Nuyt
 
Kees Nuyt's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Copying Table Data For Archive

On Thu, 21 Jun 2007 15:52:41 GMT, GA <fang27@excite.com> wrote:

>
>
>Basically, I want to create a system where I am archiving data -
>copying it from the active tables to the archive tables.
>
>I am setting this up so that any user can do it, not just someone
>technical like me.
>
>I am wondering if there is a way to copy multiple data sets with
>conditions into multiple data tables without doing a loop. Something
>like this:
>
>
>INSERT INTO archive_a, archive_b SELECT * FROM a, b WHERE b.lid = 10
>AND a.tid = b.tid
>
>Though this doesn't really work. 'tid' and 'lid' are just identifiers
>to match up the data between tables.
>
>Any suggestions?


I would archive the data up-front with a trigger that inserts
every new row that is added to a and b into archive_a and
archive_b, and tell my users they can delete anything they want
bcz it is already archived.

>Thanks,
>
>GA

--
( Kees
)
c[_] Recursion: see Recursion (#32)
 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Old 07-02-2007, 10:58 AM   #3
GA
 
GA's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Copying Table Data For Archive

On Thu, 21 Jun 2007 21:34:53 +0200, Kees Nuyt <k.nuyt@nospam.demon.nl>
wrote:

>On Thu, 21 Jun 2007 15:52:41 GMT, GA <fang27@excite.com> wrote:
>
>>
>>
>>Basically, I want to create a system where I am archiving data -
>>copying it from the active tables to the archive tables.
>>
>>I am setting this up so that any user can do it, not just someone
>>technical like me.
>>
>>I am wondering if there is a way to copy multiple data sets with
>>conditions into multiple data tables without doing a loop. Something
>>like this:
>>
>>
>>INSERT INTO archive_a, archive_b SELECT * FROM a, b WHERE b.lid = 10
>>AND a.tid = b.tid
>>
>>Though this doesn't really work. 'tid' and 'lid' are just identifiers
>>to match up the data between tables.
>>
>>Any suggestions?

>
>I would archive the data up-front with a trigger that inserts
>every new row that is added to a and b into archive_a and
>archive_b, and tell my users they can delete anything they want
>bcz it is already archived.
>



Thanks, that is an interesting suggestion. All of the records
entered, though, are subject to possible deletion and editing as
needed.

I could fix my system to include that for the future, but what I have
going on now is a bunch of records that need to be archived that are
already in the tables.

Since there is a top category for each set of records, I thought it
would be easy enough to give them the option of archiving current
records. I would like to do it (as everything) with the least amount
of code necessary (I'm using php).

As far as mysql is concerned, do you (or anyone) know of a way to do
an insert/select in some way like the above? I know I can always pull
the records and send them through a loop....but if I can do it in a
one-liner using mysql, I would prefer that.

-GA

 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Old 07-02-2007, 10:58 AM   #4
Kees Nuyt
 
Kees Nuyt's Avatar
 
Posts: n/a
My Photos: (0)

Banked:
MK Cash: $

I am Worth:
MK Cash: $
Donate

Recent Blog: None

Default Copying Table Data For Archive

On Thu, 21 Jun 2007 20:38:52 GMT, GA <fang27@excite.com> wrote:

>On Thu, 21 Jun 2007 21:34:53 +0200, Kees Nuyt <k.nuyt@nospam.demon.nl>
>wrote:
>
>>On Thu, 21 Jun 2007 15:52:41 GMT, GA <fang27@excite.com> wrote:
>>
>>>
>>>
>>>Basically, I want to create a system where I am archiving data -
>>>copying it from the active tables to the archive tables.
>>>
>>>I am setting this up so that any user can do it, not just someone
>>>technical like me.
>>>
>>>I am wondering if there is a way to copy multiple data sets with
>>>conditions into multiple data tables without doing a loop. Something
>>>like this:
>>>
>>>
>>>INSERT INTO archive_a, archive_b SELECT * FROM a, b WHERE b.lid = 10
>>>AND a.tid = b.tid
>>>
>>>Though this doesn't really work. 'tid' and 'lid' are just identifiers
>>>to match up the data between tables.
>>>
>>>Any suggestions?

>>
>>I would archive the data up-front with a trigger that inserts
>>every new row that is added to a and b into archive_a and
>>archive_b, and tell my users they can delete anything they want
>>bcz it is already archived.
>>

>
>
>Thanks, that is an interesting suggestion. All of the records
>entered, though, are subject to possible deletion and editing as
>needed.
>
>I could fix my system to include that for the future, but what I have
>going on now is a bunch of records that need to be archived that are
>already in the tables.
>
>Since there is a top category for each set of records, I thought it
>would be easy enough to give them the option of archiving current
>records. I would like to do it (as everything) with the least amount
>of code necessary (I'm using php).
>
>As far as mysql is concerned, do you (or anyone) know of a way to do
>an insert/select in some way like the above? I know I can always pull
>the records and send them through a loop....but if I can do it in a
>one-liner using mysql, I would prefer that.
>
>-GA


You can't combine two tables in one
insert statement, so

INSERT INTO archive_a, archive_b
SELECT * FROM a, b
WHERE b.lid = 10 AND a.tid = b.tid

indeed won't work.

A 4 liner would do the job.
Something like:

BEGIN TRANSACTION;
INSERT INTO archive_a
SELECT *
FROM a
WHERE a.tid IN (
SELECT a.tid FROM a
INNER JOIN b USING (tid)
WHERE b.lid = 10
);
INSERT INTO archive_b
SELECT *
FROM b
WHERE b.lid = 10;
COMMIT;

(untested)
--
( Kees
)
c[_] Recursion: see Recursion (#32)
 
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit!
Featured Websites
Free Space
Free Space
Free Space Free Space
Closed Thread
Tags: , , ,




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
copying a row from one table to another? Jim Michaels Database 5 07-01-2007 7:09 PM
Copying data from MS Access to MySQL 5.015 Ted Byers Database 2 07-01-2007 6:29 PM
table name as data Rob Kings Database 7 07-01-2007 6:27 PM
How to take data out of table, restructure the table and then put the data back in Laphan Database 4 07-01-2007 6:24 PM
cvs: pear /PHP_Archive Archive.php package.php package.xml /PHP_Archive/Archive Creator.php /PHP_Archive/data phar_frontcontroller.tpl Greg Beaver Pear 0 05-20-2007 7:42 PM


Featured Websites




All times are GMT +1. The time now is 12:21 AM.


Powered by: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.0.0
Cheap Computers
MK PitStop Copyright 2005 - 2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98