MySQL table patcher

0. Contents

This is the documentation of sqlupdate-1.6.6.
   1. Purpose
   2. Changes
   3. Copying
   4. Requirements
   5. Downloading

1. Purpose

Reads a table creation file (tables.sql) and compares it to what mysqldump gives, and creates SQL clauses to update the database to match the creation file.
sqlupdate v1.6.5 - Copyright (C) Joel Yliluoma (

    sqlupdate [options] >changes.sql
       (Creates an update script)

    -t tablefile          Describes the file containing
                          the new sql layout. Default: tables.sql
    -d database           Default: winnie3
    -h host               Default: localhost
    -u user               Default: root
    -i                    Use CREATE INDEX instead of ALTER..ADD KEY
    -m                    Add comments explaining the differences
    -c                    Ignore character set differences
    -p pass
    -r                    Reverse operation. (new->old)

  ./sqlupdate -t etimgr.sql -d etimgr | mysql -uroot

This program does not update a database. It only
produces update scripts (which show the differences).

2. Changes

Since version 1.3.0, supports also the InnoDB FOREIGN KEY constraints.

Since version 1.4.0, supports TINYINT, DATE, TIME and ENUM types.
Thanks to Leigh Purdie for this change!

Version 1.4.1 adds support for CREATE INDEX and field ordering.

Since version 1.5.0, supports LONGTEXT, MEDIUMTEXT and MEDIUMBLOB. Also now longer forces DEFAULT for AUTOINCREMENT columns.
Thanks to Frederic Lamsens for this change!

In version 1.6.0, a crude support for CHARSET and COLLATE was added.

In version 1.6.1, support for GEOMETRY and SPATIAL indexes was added.

Version 1.6.2: Added -c option (ignore character set differences).

In version 1.6.3, support for more spatial datatypes was added.

In version 1.6.4, a bug in the support of ENUM was fixed. Thanks to Martin Vít for this change!

In version 1.6.5, support was added for different index types in PRIMARY KEY.

In version 1.6.6, support was added for BIT, COMMENT, SET, TINYTEXT and CURRENT_TIMESTAMP. Thanks to Markus Ebeling for this change!

3. Copying

sqlupdate has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the terms of the General Public License (GPL).

4. Requirements

GNU make is probably required.
mysqldump is also required. This program handles only MySQL tables indeed.

5. Downloading

The official home page of sqlupdate is at
Check there for new versions.

Generated from progdesc.php (last updated: Sat, 25 Feb 2012 14:03:15 +0200)
with docmaker.php (last updated: Sat, 25 Feb 2012 14:03:15 +0200)
at Sat, 25 Feb 2012 14:03:15 +0200