Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
mysqldump and deleting table contents

Posted by Pali (Pali), 23 March 2004
I want to create a dumpfile of the contents of a db- I am using the following:

`/usr/bin/mysqldump -t -n -u root -ppassword -B DB > /usr/local/restore/dumpfile_$unixtime`

This obviously produces a bunch of INSERT commands. But what I want is for the dumpfile to prepend the insert statements with statements that delete from each of the tables in that database (so that the inserts are always run on a fresh table).

Any ideas what flag I should use? I am using mysql 3.23.56-1.9.

Thanks
Pali

Posted by admin (Graham Ellis), 23 March 2004
I think the add-drop-table option will help you:

--add-drop-table    Add a 'drop table' before each create.


Posted by Pali (Pali), 23 March 2004
Graham,
I am specifically using the -t option to avoid producing all the create table syntax, which I don't need. Thus the -add-drop-table option has no effect, since it only does anything if it finds the create keyword.
Also i am only interested in deleting the contents of the table, not the table itself.
Thanks


Posted by admin (Graham Ellis), 23 March 2004
Hmm - it's going to be much less efficient to clear out all the data in a table and repopulate it that to simply recreate the table. It's rather as if you want to rub out all the pencil lines on a piece of paper so that you have something to draw on when you could simply throw the old piece away and pick up a new one.  

Perhaps there's something I'm missing - is the structure of the tables on the system that you're dumping off different to the new structure that you want to re-populate - perhaps some extra fields, for example?

Posted by Pali (Pali), 24 March 2004
The structure of the tables is in fact exactly the same. I guess, its just paranoia / added risk of dropping a table alltogether and then recreating it.
Thanks Graham.



This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2024: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho