End of Product Lifecycle. Active development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.
          A new storage engine library (MyISAM) with
          a lot of new features. See
          Section 13.1, “The MyISAM Storage Engine”.
        
          You can create in-memory HEAP tables which
          are extremely fast for lookups.
        
Support for big files (63-bit) on OSs that support big files.
          New function
          LOAD_FILE(filename) to get the
          contents of a file as a string value.
        
          New <=> operator that acts as
          = but returns TRUE if both arguments are
          NULL. This is useful for comparing changes
          between tables.
        
          Added the ODBC 3.0 EXTRACT(interval FROM
          datetime) function.
        
          Columns defined as
          FLOAT( are not
          rounded on storage and may be in scientific notation (1.0
          E+10) when retrieved.
        X)
          REPLACE is now faster than
          before.
        
          Changed LIKE character comparison
          to behave as =;
          This means that 'e' LIKE 'é' is now true.
          (If the line doesn't display correctly, the latter 'e' is a
          French 'e' with an acute accent above.)
        
          SHOW TABLE STATUS returns a lot
          of information about the tables.
        
          Added LIKE to the
          SHOW STATUS command.
        
          Added Privileges column to
          SHOW COLUMNS.
        
          Added Packed and Comment
          columns to SHOW INDEX.
        
          Added comments to tables (with CREATE TABLE ...
          COMMENT ').
        xxx'
          Added UNIQUE, as in CREATE TABLE
          
        tbl_name (col INT NOT NULL
          UNIQUE)
          New create syntax: CREATE TABLE
          
        tbl_name SELECT ...
          New create syntax: CREATE TABLE IF NOT EXISTS
          ...
        
          Allow creation of CHAR(0) columns.
        
          DATE_FORMAT() now requires
          “%” before any format
          character.
        
          DELAYED is now a reserved word (sorry about
          that :( ).
        
          An example procedure is added: analyse,
          file: sql_analyse.c. This describes the
          data in your query. Try the following:
        
SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])
This procedure is extremely useful when you want to check the data in your table!
          BINARY cast to force a string to be
          compared in case-sensitive fashion.
        
          Added --skip-show-database
          option to mysqld.
        
          Check whether a row has changed in an
          UPDATE now also works with
          BLOB/TEXT
          columns.
        
          Added the INNER join syntax. Note that this
          change makes INNER a reserved word!
        
          Added support for netmasks to the host name in the MySQL grant
          tables. You can specify a netmask using the
          IP/NETMASK syntax.
        
          If you compare a NOT NULL DATE/DATETIME
          column with IS NULL, this is
          changed to a compare against 0 to satisfy
          some ODBC applications. (By <shreeve@uci.edu>.)
        
          NULL IN (...) now returns
          NULL instead of 0. This
          ensures that null_column NOT IN (...)
          doesn't match NULL values.
        
          Fix storage of floating-point values in
          TIME columns.
        
          Changed parsing of TIME strings
          to be more strict. Now the fractional second part is detected
          (and currently skipped). The following formats are supported:
        
[[DAYS] [H]H:]MM:]SS[.fraction]
[[[[[H]H]H]H]MM]SS[.fraction]
          Detect (and ignore) fractional second part from
          DATETIME.
        
          Added the LOW_PRIORITY attribute to
          LOAD DATA
          INFILE.
        
The default index name now uses the same case as the column name on which the index name is based.
Changed default number of connections to 100.
          Use bigger buffers when using
          LOAD DATA
          INFILE.
        
          DECIMAL(x,y) now works according to
          standard SQL.
        
          Added aggregate user-defined functions. Thanks to Andreas F.
          Bobak (<bobak@relog.ch>) for this!
        
          LAST_INSERT_ID() is now updated
          for INSERT INTO
          ... SELECT.
        
Some small changes to the join table optimizer to make some joins faster.
          SELECT
          DISTINCT is much faster; it uses the new
          UNIQUE functionality in
          MyISAM. One difference compared to MySQL
          3.22 is that the output of DISTINCT is no
          longer sorted.
        
          All C client API macros are now functions to make shared
          libraries more reliable. Because of this, you can no longer
          call mysql_num_fields() on a
          MYSQL object, you must use
          mysql_field_count() instead.
        
          Added use of LIBWRAP; patch by Henning P.
          Schmiedehausen.
        
          Do not allow AUTO_INCREMENT for other than
          numerical columns.
        
          Using AUTO_INCREMENT now automatically
          makes the column NOT NULL.
        
          Show NULL as the default value for
          AUTO_INCREMENT columns.
        
          Added SQL_BIG_RESULT;
          SQL_SMALL_RESULT is now default.
        
          Added a shared library RPM. This enhancement was contributed
          by David Fox (<dsfox@cogsci.ucsd.edu>).
        
          Added --enable-large-files and
          --disable-large-files options to
          configure. See
          configure.in for some systems where this
          is automatically turned off because of broken implementations.
        
          Upgraded readline to 4.0.
        
          New CREATE TABLE options:
          PACK_KEYS and CHECKSUM.
        
          Added the --default-table-type
          option to mysqld.
        


User Comments
Add your own comment.