Errata
The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted by | Date submitted |
---|---|---|---|---|
Printed | Page 1 $dbh->commit is missing in both examples for the already discussed value of $dbh- |
>{AutoCommit} = 0 |
Anonymous | |
Printed | Page 2 (from the Perl DBI documentation) |
--- snip ---------------------------------------------------- |
Anonymous | |
Printed | Page 25 Screenshot |
The cursor was left on the page when the screen shot was taken, which makes these illustrations |
Anonymous | |
Printed | Page 34 Example 2-6 |
The procedure defined in Figure 2-10 defines total_sales |
Anonymous | |
Printed | Page 40 line 30 |
Stored procedure CALLs for 1_new_salary procedure. I can't find how to create this stored |
Anonymous | |
Printed | Page 52 1st paragraph |
Text says: |
Anonymous | |
Printed | Page 64 final example in section |
Where bitwise operators are explained, the following example is given |
Anonymous | |
Printed | Page 68 Next-to-last paragraph |
"requirements will be minimal and, use CHARs and VARCHARs can be used" |
Kerry Burton | Oct 22, 2020 |
Printed | Page 73 Sample code, assignment to variable c |
c=a+" "+c; |
Kerry Burton | Oct 22, 2020 |
Printed | Page 83 Second paragraph, last sentence |
"if l_version is NULL" |
Kerry Burton | Oct 22, 2020 |
Printed | Page 91 First paragraph |
"if none of the WHERE clauses is matched" |
Kerry Burton | Oct 22, 2020 |
Printed | Page 107 Second paragraph, first sentence |
Replace "post-processing" with "processing". |
Kerry Burton | Oct 23, 2020 |
Printed | Page 107 Last paragraph |
It is not true that "the WHILE loop also requires a LEAVE statement if there is any processing of the cursor results attempted within the loop". |
Kerry Burton | Oct 23, 2020 |
Printed | Page 112 Example 5-19 |
Remove "//" after "END;" |
Kerry Burton | Oct 24, 2020 |
Printed | Page 118 Last sentence |
The comma in the final sentence does not belong: |
Kerry Burton | Oct 24, 2020 |
Printed | Page 126 End of Example 6-1 |
"END$$" should be "END;" |
Kerry Burton | Oct 24, 2020 |
Printed | Page 127 1st paragraph |
"...set the variable p_status to ..." |
Anonymous | |
Printed | Page 135 Last two bullets |
"DECLARE CONTINUE HANDER FOR" |
Kerry Burton | Oct 24, 2020 |
Printed | Page 141 1st paragraph |
"...ability to display the SQLSTATE or SQLSTATE..." |
Anonymous | |
Printed | Page 141 Indented tip after first paragraph |
"implements a SQLSTATE or SQLSTATE variable" |
Kerry Burton | Oct 24, 2020 |
143 Example 6-17 line 8 |
Should be MESSAGE_TEXT instead of MESSAGE_TEST (also in ex06-17.sql in the sample files) |
Anonymous | Jun 30, 2011 | |
Printed | Page 145 Examples 6-19 and 6-20 |
END$$ |
Kerry Burton | Oct 24, 2020 |
Printed | Page 146-147,149 Examples 6-22 and 6-23 |
In both examples, the first call to the just-defined procedure fails because the department to be added already exists. Then, the second call attempts to create the same (duplicate) department but fails because no manager ID could found for the specified name. |
Kerry Burton | Oct 24, 2020 |
Printed | Page 148 Example 6-23 |
line 33: |
Anonymous | Nov 19, 2008 |
Printed | Page 148 Example 6-23, line 43 |
For consistency, |
Kerry Burton | Oct 24, 2020 |
Printed | Page 149 Line-by-line code review at top of page |
Entry for line 53 is actually for line 63. |
Kerry Burton | Oct 24, 2020 |
Printed | Page 149 Example 6-24, first result set |
@p_sqlcode value is |
Kerry Burton | Oct 24, 2020 |
Printed | Page 156 Last paragraph, first sentence |
"the ability to directly access the SQLSTATE or SQLSTATE variables" |
Kerry Burton | Oct 24, 2020 |
Printed | Page 156 Last paragraph, second sentence |
"In the absence of a SQLSTATE or SQLCODE variable, it is good practice for you to define handlers against all error conditions [...] that populate a SQLCODE-like variable..." |
Kerry Burton | Oct 24, 2020 |
Printed | Page 173 Line 16 (including paragraph headings) |
The book says "IF EXISTS is only valid for stored procedures |
Anonymous | |
Printed | Page 186 Example 8-3, line 8 |
Drop 'sp_' from 'sp_location_exists'. Later reference is to 'location_exists'. |
Anonymous | |
Printed | Page 201 Example 8-12, line 59 |
END$$ should read: END; |
Anonymous | |
Page 217 5th item in Table 9-1 on page 217 |
Function name "EXPORT_SET" should be changed to "ENCODE_SET" to match the description of the "ENCODE_SET" function in the table. |
Joseph Chen | Nov 15, 2010 | |
Printed | Page 286 Example 13-14 |
Trying to reproduce the example code causes an error: |
Anonymous | Jan 04, 2012 |
Printed | Page 346 Example 15-1 |
Strict should be all lowercase, e.g., |
Anonymous | |
Printed | Page 348 Example 15-7 |
In perl the concatenation operator is '.' not '||' (as in SQL) ;-) |
Anonymous | |
Printed | Page 348 Examples 15-7, 15-8 |
Anonymous | ||
Printed | Page 352 Example 15-17 |
Maybe it should be clarified that the returned TYPE attribute are integers and correspond to some |
Anonymous | |
Printed | Page 359 Example 15-30 |
If you use the downloaded file rather than typing the script, the script won't run without the "-w" on the shebang line under Linux/Unix: |
Anonymous | May 28, 2014 |
Printed | Page 364 2nd paragraph |
It's worth mentioning here that users wanting to use MySQLdb Extension with Python should use Python 2.7, as MySQLdb does not yet work with Python 3.x. The last notice that it would eventually work with Python 3.3 was in 2012, and it's still not done. |
Anonymous | Jun 30, 2017 |
Printed | Page 379 Section Obtaining Output parameters |
I have yet to be able to get output variables to work with stored procedures on MySQL. It always produces error 1414. Looking through a few forums on the internet, it's apparent that many people have this problem, using both IN and INOUT. |
Anonymous | Jun 30, 2017 |
Printed, PDF | Page 382 Example 16-31, line 15 |
The latest version of MySQL-python (1.2.5) will error without changing the csr1.execute() call database parameter to a tuple (or dictionary) rather than a list. |
Anonymous | May 28, 2014 |
Printed, PDF | Page 429 Example 18-3, line 12 |
Line: |
Anonymous | May 28, 2014 |
Printed | Page 463 Line 1 |
The chapter begins "In this chapter, we will tune of simple SQL statements...", |
Anonymous | |
Printed | Page 567-568 Dynamic SQL Example - bind order |
The example SQL code appears to get "in_where_val" and "in_set_val" mixed up. |
Anonymous | |
Printed | Page 607 SUBSTRNG |
typo SUBSTRNG |
Anonymous | Nov 26, 2008 |