|
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
|
|
|
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.
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.
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).
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.
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 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.
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).
Correction: The table at page 676 contains the option
replicate-do-db twice. The second instance should be
replicate-ignore-db.
Sorry for the mistakes and thanks to all who notify me about
errors! Last change 27th November 2006 | ||||||||||||||||||||||||||||||||||||||||