Reprint Address: http://blog.itechol.com/space.php?uid=33&do=blog&id=6681
1, in the MySQL statement "'" function: To avoid the indication, the field name and MySQL existing "reserved word" conflict, causing an unknown error.
2, so we build tables and fields, especially need to pay attention to, try to use the full spell/underline to set the field and table name
3, connect different database query, must not add "'" anti-quotation marks, otherwise it will be parsed into a single table
4, in order to distinguish between the MySQL reserved words and ordinary characters introduced by the symbol.
For Example: Select ' Select ' From ' Test ' WHERE select= ' field value '
in the test table, there is a select field, without the use of anti-quotes, MySQL will treat select as a reserved word resulting in an error, so there is a MySQL reserved word as a field, you must add the anti-quote to distinguish.
quotation marks are generally used in the value of the field, and if the field value is a character or string, enclose it in quotation marks, such as: select= ' field value '
tables built without anti-quotes cannot contain mysql reserved words, otherwise an error occurs5.
common reserved words for MySQL======================================================= when using MySQL, be careful not to use its reserved word as the table name or column name, otherwise there will be some inexplicable error. A table was built yesterday, where a column named interval (time interval), the results of data can not be plugged in, and finally found that the original interval is a reserved word for MySQL. If you have a similar error in the future, think about whether the table name or the column name conflict is causing the problem. Found a list of MySQL reserved words from the Internet, for reference only.
ADD |
All |
Alter |
ANALYZE |
and |
As |
Asc |
Asensitive |
Before |
Between |
BIGINT |
BINARY |
Blob |
BOTH |
By |
Pager |
CASCADE |
Case |
Change |
CHAR |
CHARACTER |
CHECK |
COLLATE |
COLUMN |
CONDITION |
CONNECTION |
CONSTRAINT |
CONTINUE |
CONVERT |
CREATE |
Cross |
Current_date |
Current_time |
Current_timestamp |
Current_User |
CURSOR |
DATABASE |
DATABASES |
Day_hour |
Day_microsecond |
Day_minute |
Day_second |
DEC |
DECIMAL |
DECLARE |
DEFAULT |
DELAYED |
DELETE |
DESC |
DESCRIBE |
Deterministic |
DISTINCT |
Distinctrow |
Div |
DOUBLE |
DROP |
DUAL |
each |
ELSE |
ELSEIF |
Enclosed |
Escaped |
EXISTS |
EXIT |
EXPLAIN |
FALSE |
FETCH |
FLOAT |
FLOAT4 |
FLOAT8 |
For |
Force |
FOREIGN |
From |
Fulltext |
Goto |
GRANT |
GROUP |
Having |
High_priority |
Hour_microsecond |
Hour_minute |
Hour_second |
IF |
IGNORE |
Inch |
INDEX |
INFILE |
INNER |
INOUT |
Insensitive |
INSERT |
Int |
INT1 |
INT2 |
INT3 |
INT4 |
INT8 |
INTEGER |
INTERVAL |
Into |
Is |
Iterate |
JOIN |
KEY |
KEYS |
KILL |
LABEL |
Leading |
LEAVE |
Left |
Like |
LIMIT |
LINEAR |
LINES |
LOAD |
LocalTime |
Localtimestamp |
LOCK |
LONG |
Longblob |
Longtext |
LOOP |
Low_priority |
MATCH |
Mediumblob |
Mediumint |
Mediumtext |
Middleint |
Minute_microsecond |
Minute_second |
MOD |
Modifies |
NATURAL |
Not |
No_write_to_binlog |
Null |
NUMERIC |
On |
OPTIMIZE |
OPTION |
Optionally |
OR |
ORDER |
Out |
OUTER |
OUTFILE |
PRECISION |
PRIMARY |
PROCEDURE |
PURGE |
RAID0 |
RANGE |
READ |
READS |
REAL |
REFERENCES |
Regexp |
RELEASE |
RENAME |
REPEAT |
REPLACE |
REQUIRE |
RESTRICT |
RETURN |
REVOKE |
Right |
Rlike |
SCHEMA |
SCHEMAS |
Second_microsecond |
SELECT |
Sensitive |
SEPARATOR |
SET |
SHOW |
SMALLINT |
SPATIAL |
Specific |
Sql |
SQLEXCEPTION |
SQLSTATE |
SQLWarning |
Sql_big_result |
Sql_calc_found_rows |
Sql_small_result |
Ssl |
Starting |
Straight_join |
TABLE |
TERMINATED |
Then |
Tinyblob |
TINYINT |
Tinytext |
To |
TRAILING |
TRIGGER |
TRUE |
UNDO |
UNION |
UNIQUE |
UNLOCK |
UNSIGNED |
UPDATE |
USAGE |
Use |
USING |
Utc_date |
Utc_time |
Utc_timestamp |
VALUES |
VARBINARY |
VARCHAR |
Varcharacter |
VARYING |
When |
WHERE |
While |
With |
WRITE |
X509 |
Xor |
Year_month |
Zerofill |
Note: MySQL allows some of the keywords to be used as unrecognized identifiers, because many people have been using them before. Such as:
ACTION, BIT, DATE, ENUM, NO, TEXT, time, TIMESTAMP
"Turn" MySQL anti-quote use (anti-conflict)