On Tue, Mar 16, 2010 at 02:12:42PM -0700, John Oliver wrote:
> Is there a way to use mysqladmin (or mysql) to truncate a table as a
> one-off command from the command line?
>
> I have an issue with importing data from one database into another, but
> the second database might have columns that the first did not.
>
> On database 1, I use mysqldump to grab certain tables, and when I try to
> simply "overlay" those tables onto the new database, I get an error
>
> ERROR 1062 (23000) at line 24: Duplicate entry '378-4' for key 1
>
> So we're thinking we should truncate the table first, but it appears
> this must be done manually in the mysql> shell, which won't work... this
> operation needs to be scripted, or to be presented as one command line
> that can be copy-and-pasted.
>
> How can I do something like :
>
> mysqladmin -h db_server -u user -pPASSWORD <DATABASE> truncate table
> table1 ?
Just to leave an answer behind for the next character who runs into
this...
for i in table1 table2 table3 ; do mysql -h db_server -u user -pPASSWORD
-e "truncate table $i" DATABASE; done
--
***********************************************************************
* John Oliver http://www.john-oliver.net/ *
* *
***********************************************************************