This document lists the known errors for the book:
MySQL, 3rd Edition (05-1 printing)Number of items: 36
Paul DuBois
Sams
2005
ISBN 0-672-32673-6
[book information]
| Date | 2006-09-10 |
| Page | 38, last line |
| Reported by | Jim Kovacs |
| Description | "where CC, YY, MM, and DD represent the century, year within the century, month, and date" should be "where CC, YY, MM, and DD represent the century, year within the century, month, and day of the month". |
| Date | 2007-08-09 |
| Page | 60, 5th paragraph |
| Description | The paragraph says that HFS+ uses case-sensitive filenames. It should say case-insensitive. |
| Date | 2012-04-15 |
| Page | 83ff |
| Reported by | Abby Byrnes |
| Description | On pages 83 and following, queries use "range" as a column alias. But in more recent versions of MySQL, RANGE is a reserved word and the queries produce an error. To avoid this, either use a different nonreserved alias, such as "span", or quote "range" as an identifier, e.g., with backquotes: `range` |
| Date | 2005-12-28 |
| Page | 106, first bullet item |
| Description | "IGNORE_SPACES" should be "IGNORE_SPACE". |
| Date | 2006-09-16 |
| Page | 109 |
| Reported by | Jim Kovacs |
| Description | "As MySQL 4.1.1, the..." should be "As of MySQL 4.1.1, the..." |
| Date | 2007-05-08 |
| Page | 10 |
| Description | This page indicates that I moved older (pre-MySQL 4.1) material into an addendum available at my Web site. I never got around to finishing this, and in fact, only one person ever asked about it. |
| Date | 2005-07-12 |
| Page | 129, end of second paragraph |
| Reported by | M. Porcelijn |
| Description | "DROP TABLE IF NOT EXISTS" should be "DROP TABLE IF EXISTS" and "CREATE TABLE without IF EXISTS" should be "CREATE TABLE without IF NOT EXISTS". |
| Date | 2005-12-28 |
| Page | 129, last paragraph |
| Description | "but you drop it explicitly" should be "but you can drop it explicitly". |
| Date | 2010-10-06 |
| Page | 156, 2nd para from bottom |
| Reported by | Richard Cook |
| Description | "The following discussion in phrased" should be "The following discussion is phrased". |
| Date | 2006-02-11 |
| Page | 157-158, code listings from bottom of page 157 through page |
| Description | Join processing has been changed as of MySQL 5.0.12. One of the changes is to reduce the precedence of the comma join operator relative to other inner join operators such as INNER JOIN, JOIN, and CROSS JOIN. As a result of this change, the query developed on pp. 157-158 fails with the error "ERROR 1054 (42S22): Unknown column 'student.student_id' in 'on clause'." To correct the problem, change the FROM clause at the bottom of page 157 from this:
FROM student, grade_eventTo this: FROM student INNER JOIN grade_eventThe same change should be made to the two FROM clauses on page 158. |
| Date | 2006-05-29 |
| Page | 197, second bullet |
| Reported by | Larry Prall |
| Description | Phrase searching no longer (as of MySQL 5.0.3) requires the search phrase to include punctuation. To match a phrase, specify the words of the phrase in double quotes. Matches occur for records that contain the same words in the same order as listed in the phrase. |
| Date | 2005-06-21 |
| Page | 226 |
| Reported by | Paul G. Wagner |
| Description | In Table 3.6, the lower signed bound for INT should be -2147483648, not -2147683648. |
| Date | 2008-07-24 |
| Page | 233, 2nd-to-last paragraph |
| Reported by | Helen Schuilenburg |
| Description | This paragraph says that BINARY(20) holds 20 characters and CHAR(20) holds 20 bytes. It should be reversed: BINARY(20) holds 20 bytes and CHAR(20) holds 20 characters. |
| Date | 2008-02-15 |
| Page | 244, paragraph following example |
| Reported by | Huu Da Tran |
| Description | 'fred' and 'marcia' should be replaced by 'lamp' and 'stool' respectively. |
| Date | 2005-12-28 |
| Page | 246, second and third paragraphs following title |
| Description | Both instances of "COLLATION" should be "COLLATE". |
| Date | 2010-08-19 |
| Page | 269, 4th bullet, 2nd line |
| Reported by | Jim Kovacs |
| Description | "to not reuse" should be "do not reuse" |
| Date | 2010-08-19 |
| Page | 271, 1st code listing |
| Reported by | Jim Kovacs |
| Description | The ALTER TABLE statement is missing PRIMARY KEY for the ADD clause. It should say:
ADD i INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, |
| Date | 2010-08-19 |
| Page | 272, 2nd para from bottom |
| Reported by | Jim Kovacs |
| Description | "to server as a counter identifier" should be "to serve as a counter identifier". |
| Date | 2007-05-31 |
| Page | 300, middle of page |
| Reported by | Liz Becker |
| Description | SELECT t1.i1, t2.12, t3.i3 FROM t1, t2, t3 WHERE t1.i1 = t2.i2 AND t2.i1 = t3.i3;should read: SELECT t1.i1, t2.12, t3.i3 FROM t1, t2, t3 WHERE t1.i1 = t2.i2 AND t2.i2 = t3.i3;(after the AND, t2.i1 should be t2.i2) |
| Date | 2005-12-28 |
| Page | 321, final bullet |
| Description | "DELAYED_KEY_WRITE" should be "DELAY_KEY_WRITE". |
| Date | 2007-07-14 |
| Page | 469, second to last paragraph |
| Description | "The WHERE 0 clause is true for all rows" should be "The WHERE 0 clause is false for all rows". |
| Date | 2006-02-11 |
| Page | 555 |
| Description | This is the same problem as for pp. 157-158, and the correction is the same. In the SELECT statement, change the beginning of the FROM clause from:
FROM student, grade_eventTo this: FROM student INNER JOIN grade_event |
| Date | 2007-06-22 |
| Page | 557, 7th line from the end |
| Description | This line:
$sth =& $del_sth;Should be: $sth =& $sth_del; |
| Date | 2007-10-23 |
| Page | 621, middle of page |
| Description | "To remove the MySQL server from the list of services, start it if it is running..." should be "To remove the MySQL server from the list of services, stop it if it is running..." |
| Date | 2005-12-28 |
| Page | 681, first bullet |
| Description | "indexes on its column" should be "indexes on its columns". |
| Date | 2005-12-28 |
| Page | 794, third bullet |
| Description | "that begins with mysql.essential" should be "that begins with mysql-essential". |
| Date | 2005-12-28 |
| Page | 799, second bulllet |
| Description | Precision is not "the width of the integer component", it's "the number of significant digits". |
| Date | 2008-02-29 |
| Page | 851 |
| Description | The description for the SPACE() function says "empty set"; it should say "empty string". |
| Date | 2008-01-12 |
| Page | 873, entry for DES_ENCRYPT() |
| Description | The entry for DES_ENCRYPT() shows three syntax formats, but the second and third erroneously give the function name as DES_DECRYPT(). |
| Date | 2005-12-28 |
| Page | 905, third bullet |
| Description | The maximum value for myisam_data_pointer_size is 7, not 8. |
| Date | 2005-12-28 |
| Page | 948, second bullet |
| Description | MyISAM can use internal row pointers 2 to 7 bytes wide, not 2 to 8 bytes wide. |
| Date | 2008-01-25 |
| Page | 954, first line |
| Description | "an error occurs if the OR REPLACE clause is given" should be "an error occurs unless the OR REPLACE clause is given" (change "if" to "unless"). |
| Date | 2008-05-03 |
| Page | 957, DROP TRIGGER |
| Description | The syntax for DROP TRIGGER should say db_name.trigger_name, not tbl_name.trigger_name. (The statement should name a database, not a table.) |
| Date | 2005-12-28 |
| Page | 960, middle of page |
| Description | EXPLAIN must execute a subquery only if it occurs in the FROM clause. |
| Date | 2005-12-28 |
| Page | 967 |
| Description | For the second INSERT syntax (INSERT ... SELECT),
DELAYED shouldn't be used. Make this change on the 5th line following the
"INSERT" heading:
From: INSERT [DELAYED | LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO]To: INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] |
| Date | 2009-03-28 |
| Page | 1086 |
| Reported by | Richard Cook |
| Description | mysqldump produces CREATE DATABASE IF NOT EXISTS statements, not CREATE DATABASE IF EXISTS statements. |