Mysql 中断的insert语句

Mysql 中断的insert语句,mysql,sql,insert,Mysql,Sql,Insert,这个insert语句有什么问题?我看了好几遍,看不出有什么不对 INSERT INTO tasks (task_id, priority, limit, total_active, time_limit, start_time, params) VALUES ("d", "9", "1", "0", "1549699912", "1549696366", ""); 错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“limit

这个insert语句有什么问题?我看了好几遍,看不出有什么不对

INSERT INTO tasks
       (task_id, priority, limit, total_active, time_limit, start_time, params)
VALUES ("d", "9", "1", "0", "1549699912", "1549696366", "");
错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“
limit,total\u active,time\u limit,start\u time,params)”值(“1”,“d”,“9”,“1”,“
”附近使用的正确语法


默认情况下,“优先级”列为0。您可以在“插入”中跳过它。 试试这个

 INSERT INTO tasks( task_id, limit, total_active, time_limit, start_time, params) VALUES 
( 'd',  1, 0, 1549699912, 1549696366, null);

默认情况下,“优先级”列为0。您可以在“插入”中跳过它。 试试这个

 INSERT INTO tasks( task_id, limit, total_active, time_limit, start_time, params) VALUES 
( 'd',  1, 0, 1549699912, 1549696366, null);

不要对数字使用引号

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

请小心,因为问题中的错误消息与显示的代码不对应。错误消息中有

 VALUES ("1", "d", "9", 
但在代码中,你有不同的价值

 VALUES ("d",  ...
正如Matthias Burger所建议的,用backtics包装保留字

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, "");

请小心,因为问题中的错误消息与显示的代码不对应。错误消息中有

 VALUES ("1", "d", "9", 
但在代码中,你有不同的价值

 VALUES ("d",  ...
正如Matthias Burger所建议的,用backtics包装保留字

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

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", "");

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", "");


varchar(2)是一个整数值?不要这样认为。默认情况下,优先级列0添加了主键,并且没有任何区别。跳过优先级列对您没有帮助?不要对非字符串使用引号。varchar(2)是整数值吗?不这样认为。默认情况下,优先级列0添加了主键,没有任何区别。跳过优先级列没有帮助?不要对非字符串使用引号。数据类型为int的列有双引号。为什么?@MuhammadWaheed我将查询改为使用非引号,没有任何区别。Co数据类型为int的列具有双引号的值。为什么?@MuhammadWaheed我将查询更改为使用非引号的值,结果没有任何区别。我删除了引号,结果没有任何区别。您问题中的错误消息与显示的代码不对应。错误消息中有值(“1”、“d”、“9”,但在代码中你有(“d”,9,1,…,所以如果你真的在使用我在回答中发布的代码,请检查更好…这是完全相同的错误,参数不同,请检查更好的代码..你真的在使用并最终更新你的问题,并加上代码错误1064(42000)的其他(重要)部分:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解使用“limit、total\u active、time\u limit、start\u time、params”值(“d”)附近的正确语法,9,1,0,1549'在第1行,我删除了引号,没有任何区别。您在问题中的错误消息与显示的代码不对应。您在错误消息中有值(“1”、“d”、“9”),但在代码中有(“d”,9,1,…因此,如果你真的在使用我在回答中发布的代码,请检查是否更好…这是一个完全相同的错误,参数不同。请检查代码。你真的在使用并最终更新你的问题,并添加codeERROR 1064(42000)的其他(重要)部分:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解使用第1行“limit、total\u active、time\u limit、start\u time、params”值(“d”、9、1、0、1549”附近的正确语法