mysql插入;无效语法

vptzau2j  于 2021-06-21  发布在  Mysql
关注(0)|答案(4)|浏览(340)

如果重复,请标记,否则我无法找到解决方案。
我正在执行一个非常简单的sql命令,我在其他环境中执行过很多次,但是找不到这个语法错误的原因。

INSERT INTO tracking (range,purchase,trade_id) VALUES ("119.43-119.57","119.50","pid","961971");

我也试过这个:

INSERT INTO tracking (range,pid,purchase,trade_id) VALUES ('119.43-119.57','119.50','pid','961971');

以及不引用数字(交易id)。
我收到错误:
错误1064(42000):您的sql语法有错误;请查看与mysql服务器版本对应的手册,以了解使用“range,purchase,pid,trade\u id)值('119.43-119.57','119.50',第1行的'pid'的正确语法
我的表结构:

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| trade_id | varchar(125) | NO   | PRI | NULL    |       |
| pid      | varchar(125) | NO   |     | NULL    |       |
| purchase | varchar(125) | NO   |     | NULL    |       |
| range    | varchar(125) | NO   |     | NULL    |       |
| sell     | varchar(5)   | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

然后是我的sql版本:

+-------------------------+
| VERSION()               |
+-------------------------+
| 5.5.60-0ubuntu0.14.04.1 |
+-------------------------+
1 row in set (0.00 sec)

我也运行在ubuntu14.04上,并从sqlcli(命令行界面)运行这些命令。
如果有人有我明显遗漏的东西,请指路。我要发疯了。
先谢谢你。

g6baxovj

g6baxovj1#

文档
某些关键字(如select、delete或bigint)是保留的,需要特殊处理才能用作表名和列名等标识符
最简单的解决方案就是避免使用保留字作为标识符。

z9ju0rcb

z9ju0rcb2#

你可以试试这个

INSERT INTO tracking (`range`,`pid`,`purchase`,`trade_id`) VALUES (`119.43-119.57`,`119.50`,`pid`,`961971`);
wd2eg0qa

wd2eg0qa3#

你试过这个吗

INSERT INTO 'tracking' (range,pid,purchase,trade_id) VALUES ('119.43-119.57','119.50','pid','961971');
h43kikqp

h43kikqp4#

修复了来自的建议查询 deadman :

INSERT INTO `tracking` (`range`, `purchase`, `pid`, `trade_id`) VALUES ("119.43-119.57", "119.50", "pid", "961971");

相关问题