High Performance MySQL by Jeremy Zawodny and Derek J. Balling The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated February 19, 2008. UNCONFIRMED errors and comments from readers: {7} Second to last paragraph; The second to last paragraph on page seven instructs Windows users setting up MySQL to copy the MySQL configuration file (my.cnf) to systemdir/win.ini. Under Windows, the MySQL configuration file should be copied to %WINDIR%/my.ini or C:\my.cnf. Anyone following the above procedure and copying the file to systemdir/win.ini will be overwriting a Widows configuration file, which I am sure is not what the authors intended. {42} bullet list 3/4 of the way down the page; The 2nd bullet states, "AUTO_INCREMENT columns aren't updated on insert. They are updated if you insert into one of the underlying tables" I've found this to be untrue as I think the following example illustrates: CREATE TABLE table1 ( a int auto_increment not null primary key, b varchar(10) not null ); CREATE TABLE merge123 ( a int auto_increment not null primary key, b varchar(10) not null ) TYPE=MERGE UNION=(table1) INSERT_METHOD=LAST; INSERT INTO merge123 (b) VALUES('hello'); INSERT INTO merge123 (b) VALUES('hola'); CREATE TABLE table2 ( a int auto_increment not null primary key, b varchar(10) not null ); ALTER TABLE merge123 TYPE=MERGE UNION=(table1,table2) INSERT_METHOD=LAST; INSERT INTO merge123 (b) VALUES('bonjour'); CREATE TABLE table3 ( a int auto_increment not null primary key, b varchar(10) not null ); ALTER TABLE merge123 TYPE=MERGE UNION=(table1,table2,table3) INSERT_METHOD=LAST; INSERT INTO merge123 (b) VALUES('guten tag'); mysql> select * from merge123; +---+-----------+ | a | b | +---+-----------+ | 1 | hello | | 2 | hola | | 3 | bonjour | | 4 | guten tag | +---+-----------+ The only reason this works is because of the auto_increment attribute on the merge123.a column, so the statement in the book seems misleading. {68} 2nd paragraph; Due to MySQL bug #390, As of MySQL 4.0.13 "PRIMARY KEY" implies "NOT NULL", so this paragraph requires re-work. {70} example at bottom; To make this example work on MySQL 4.1.9, the loc column must be NOT NULL. Attempting to create the table as described in the book generates an error: ERROR 1252 (42000): All parts of a SPATIAL index must be NOT NULL (139) Last paragraph of "Online table copies"; The sentence, "It then reconstructs... for which large amounts..." should read, "It then reconstructs... which for large amounts..." (230) 2nd sentence in the bottom paragraph; In the 2nd sentence, The mysqladmin flush_hosts command simply executes a FLUSH HOSTS SQL command, which empties MySQL's host cache tables. the command "mysqladmin flush_hosts" should be "mysqladmin flush-hosts" as in the 1st sentence