首页 > 解决方案 > 损坏的插入语句

问题描述

这个插入语句有什么问题?我看了好几遍,看不出有什么问题。

INSERT INTO tasks
       (task_id, priority, limit, total_active, time_limit, start_time, params)
VALUES ("d", "9", "1", "0", "1549699912", "1549696366", "");
+--------------+------------+------+-----+---------+----------------+
| Field        | Type       | Null | Key | Default | Extra          |
+--------------+------------+------+-----+---------+----------------+
| id           | int(11)    | NO   | PRI | NULL    | auto_increment |
| task_id      | varchar(2) | NO   |     | NULL    |                |
| priority     | tinyint(1) | NO   |     | 0       |                |
| limit        | int(11)    | NO   |     | NULL    |                |
| total_active | int(11)    | NO   |     | NULL    |                |
| time_limit   | int(11)    | NO   |     | NULL    |                |
| start_time   | int(11)    | NO   |     | NULL    |                |
| params       | tinytext   | YES  |     | NULL    |                |
+--------------+------------+------+-----+---------+----------------+

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以limit, total_active, time_limit, start_time, params) VALUES ("1", "d", "9", "1",在第 1 行的“”附近使用正确的语法

标签: mysqlsqlinsert

解决方案


LIMIT是sql中的关键字,需要在其周围加上双引号。

INSERT INTO tasks(task_id, priority, "limit", total_active, time_limit, 
    start_time, params) VALUES ("d", "9", "1", "0", "1549699912", "1549696366", "");

编辑:如果这不起作用,您可以使用反引号进行转义:

INSERT INTO tasks(task_id, priority, `limit`, total_active, time_limit, 
    start_time, params) VALUES ("d", "9", "1", "0", "1549699912", "1549696366", "");

推荐阅读