[nycphp-talk] naming identifiers (was: understanding NULL)
danielc at analysisandsolutions.com
Sat Aug 29 23:16:16 EDT 2009
> Creating a field/variable named desc and spending hours trying to figure
> out why MySQL was balking at my query with its typically enigmatic error
Your big mistake was delimiting the identifiers when creating the table.
"Identifiers" are table names, field names, index names, etc. The
"delimiter" for these is "`" in MySQL. When you use the delimiter around
the identifiers, the database allows you to create nearly any name you
can possibly think of, including "reserved words." Reserved words are,
well words that the system has reserved for its own internal use, so
should not be utilized by users. As you've now discovered, delimiting
identifiers when creating tables is the genesis of a world of pain.
If you tried to create a table with a name called "desc" in it without
delimiting it, MySQL would have complained to you up front, saving you
> Or like the time (very recently) when I was converting timestamps to
> calculate the number of days between two given dates. I used the
> number_format() function...
Uh, just making sure... Did you convert the timestamps via
number_format() then do the math? Ouch. This is the kind of stuff the
date functions, like date_diff(), etc, in MySQL and PHP are for.
Faster, more accurate, easier. Then format the result.
T H E A N A L Y S I S A N D S O L U T I O N S C O M P A N Y
data intensive web and database programming
4015 7th Ave #4, Brooklyn NY 11232 v: 718-854-0335 f: 718-854-0409
More information about the talk