执行select语句:

select * from cfg_parameter where key='nSJtifqVSI7HkPrKHlxhD6';

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 'key='nSJtifqVSI7HkPrKHlxhD6'' at line 1

乍一看,好像这条语句并没有什么问题。但是执行之后mysql确实报错了,所以肯定是有问题的。

排查:select * from cfg_parameter where 没有问题,key也没问题,='nSJtifqVSI7HkPrKHlxhD6';也没有问题。

等等,再仔细看看,发现key是mysql的保留字,当使用了mysql保留字,需要用反引号将其引起来,也就是键盘数字1旁边的键(` `)。

解决方法:

1、若使用了mysql的保留字,需要将其用反引号引起来。

mysql> select * from cfg_parameter where `key`='nSJtifqVSI7HkPrKHlxhD6';

+------+------------------------+----------------------+-----------+-----------------------------------------------------------+------------+

| id   | key                    | cfg_name             | option_id | parameter_content                                                  | is_deleted |

+------+------------------------+----------------------+-----------+-----------------------------------------------------------+------------+

|    5 | nSJtifqVSI7HkPrKHlxhD6 | ACTIONID_LIST_TO_RCP |      NULL | {"ACTION_IDS":"0~90001"}     |          0 |

+------+------------------------+----------------------+-----------+-----------------------------------------------------------+------------+

2、建议不要在创建表的过程中使用mysql保留字,避免后期造成麻烦。

mysql保留字:

ADD    ALL    ALTER

ANALYZE    AND    AS

ASC    ASENSITIVE    BEFORE

BETWEEN    BIGINT    BINARY

BLOB    BOTH    BY

CALL    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    IN    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

---------------------

作者:wukong_666

来源:CSDN

原文:https://blog.csdn.net/wukong_666/article/details/70208749

版权声明:本文为博主原创文章,转载请附上博文链接!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐