Bug #45211 document CHARSET in HELP CREATE TABLE etc.
Submitted: 30 May 2009 23:37 Modified: 2 Jun 2009 19:02
Reporter: Dan Jacobson Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:all OS:Any
Assigned to: Paul DuBois CPU Architecture:Any

[30 May 2009 23:37] Dan Jacobson
Description:
The average mysqldump dump will contain e.g.,
"ENGINE=InnoDB DEFAULT CHARSET=binary", but HELP CREATE TABLE only documents
"ENGINE=InnoDB DEFAULT CHARACTER SET=binary".

How to repeat:
$ mysqldump someDB

Suggested fix:
Fix mysqldump or document this use of CHARSET.
[31 May 2009 0:38] Sveta Smirnova
Thank you for the report.

Verified as described. Set as documentation bug, because either syntax is valid.
[31 May 2009 0:41] Sveta Smirnova
Inconsistense exists both in help table and in user manual at http://dev.mysql.com/doc/refman/5.1/en/create-table.html
[31 May 2009 0:50] Dan Jacobson
Also it might not be too clear that both
ENGINE=InnoDB  DEFAULT CHARACTER SET=binary
ENGINE=InnoDB, DEFAULT CHARACTER SET=binary
are valid.
[31 May 2009 0:55] Dan Jacobson
[Sorry my cached web form reset some of the flags above.]
[31 May 2009 1:05] Dan Jacobson
Changed Synopsis.
[2 Jun 2009 14:45] Paul DuBois
CHARSET is a synonym for CHARACTER SET. The context doesn't matter so we do not point this out every place where CHARACTER SET can be used, but only in representative sections.  See, for example:

http://dev.mysql.com/doc/refman/5.1/en/string-type-overview.html
http://dev.mysql.com/doc/refman/5.1/en/charset-syntax.html

"CHARACTER SET is used in clauses that specify a character set. CHARSET may be used as a synonym for CHARACTER SET."

It's true that table options can be separated by optional commas and the grammar doesn't specify that. I'll fix that.
[2 Jun 2009 19:02] Dan Jacobson
Well, OK, but I would still make mysqldump use the more official or at least more documented or more canonical version.
[2 Jun 2009 19:21] Paul DuBois
I certainly agree with that.