Errata for The Definitive Guide to MySQL 5
(3rd edition, apress 2005)

This page corrects errors in the book 'The Definitive Guide to MySQL' (3rd edition, apress 2005).

Errata for the 1st edition of the book are here.

Errata for the 2nd edition of the book are here.


Errata

Page Topic Details
144 FLOAT and DOUBLE

Correction: The first paragraph in Table 8-2 should read:

Floating-point numbers, 8-place accuracy (4 byte). m and d are optional. m is the total number of decimal digits and d is the number of digits following the decimal point. When inserting data, numbers will be rounded accordingly. Numbers too big get reduced to the highest possible number. If you try to insert 1234.5678 in a FLOAT(5,2) column, MySQL saves 999.99 and gives a warning. You can read the warnig with SHOW WARNINGS.

144-145 DECIMAL

Update as of MySQL 5.0.5: The first paragraph on page 145 should read:

The two parameters p and s specify the total number of digits (precision, maximum 65) and, respectively, the number of digits after the decimal point (scale, maximum 30). For example, DECIMAL(6,3) allows numbers between 999.999 and -999.999. MySQL saves the numbers in a binary format. The amount of bytes needed to save the number is split for the part before and after the decimal point. A minimum of 4 byte is used to save up to 9 digits. This makes a total of 8 byte for both DECIMAL(6,3) and DECIMAL(18,9). Additional digits are packed into single bytes (normally 2 digits per byte, but 9 digits in 4 byte). Thus, DECIMAL(19,9) needs a total of 9 byte.

169-170 Foreign keys

Erratum: All CREATE TABLE samples on these pages should reference publID (not publisherID). Also, the first CREATE TABLE command and the following paragraph on page 170 should be dropped (redundant text).

328 Recursion in SPs

Update (as of MySQL 5.0.9, 5.0.17): Recursion in MySQL caused a lot of troubles and has therefore completely been deactivated in MySQL 5.0.9. As of MySQL 5.0.17, recursion is again possible in SP procedures, but still not allowed in SP functions. For this reason, the factorial sample won't work in current MySQL versions. It will probably work again in future MySQL versions.

342 Trigger

Update (as of MySQL 5.0.10): The fourth paragraph on page 342 starting with 'Currently ...' should now read:

As of MySQL 5.0.10, trigger names must be unique within a database.

The text after the heading 'Deleting a Trigger' should now read:

To delete a trigger, execute DROP TRIGGER. The option IF EXISTS is not supported.

DROP TRIGGER [databasename.]triggername

609 FLOAT and DOUBLE

Correction: In the table at the bottom of the page, the paragraph for FLOAT should read:

Floating-point numbers, 8-place accuracy (4 byte). m and d are optional. m is the total number of decimal digits and d is the number of digits following the decimal point. When inserting data, numbers will be rounded accordingly. Numbers too big get reduced to the highest possible number. If you try to insert 1234.5678 in a FLOAT(5,2) column, MySQL saves 999.99 and gives a warning. You can read the warnig with SHOW WARNINGS.

609 DECIMAL

Update as of MySQL 5.0.5: The second-last paragraph on page 609 should read:

The two parameters p and s specify the total number of digits (precision, maximum 65) and, respectively, the number of digits after the decimal point (scale, maximum 30). MySQL saves the numbers in a binary format. The amount of bytes needed to save the number is split for the part before and after the decimal point. A minimum of 4 byte is used to save up to 9 digits. Additional digits are packed into single bytes (normally 2 digits per byte, but 9 digits in 4 byte).

676 replication options

Correction: The table at page 676 contains the option replicate-do-db twice. The second instance should be replicate-ignore-db.


Home

Sorry for the mistakes and thanks to all who notify me about errors!

Last change 27th November 2006

Back to the book page at www.kofler.cc