SQL语法错误
mysql> SELECT * FORM `table`
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FORM `table`' at line 1
以上错误是由于SELECT语句中写成了FORM而非FROM。这种错误很容易避免,只需仔细检查SQL语句。
缺少标点符号或引号
mysql> INSERT INTO `table` (col1, col2) VALUES (1, hello)
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hello)' at line 1
以上错误是由于在INSERT语句中,hello项没有被引号包裹。正确的写法是:
mysql> INSERT INTO `table` (col1, col2) VALUES (1, 'hello')
数据类型错误
mysql> INSERT INTO `table` (col1, col2) VALUES ('1', 'hello')
ERROR 1265 (01000): Data truncated for column 'col1' at row 1
以上错误是由于在INSERT语句中col1是整数类型,而传入的是字符串类型。可以通过修改表结构(将col1改为字符串类型)或者传入整数来解决这个问题。
表或字段不存在
mysql> SELECT `col1`, `col2` FROM `table2`
ERROR 1146 (42S02): Table 'database.table2' doesn't exist
以上错误是由于表table2不存在。可以通过检查表名或者创建该表来解决这个问题。
以上就是MySQL语法错误的几种类型及其解决方法。在使用MySQL时,遇到语法错误并不可怕,重要的是学会查错并且不断的练习。