本文介绍了错误代码:1136.列计数与第 1 行的值计数不匹配(我知道这是什么意思)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在创建一个在 MYSQL 中使用此代码的存储过程:
I am creating a stored procedure that uses this code in MYSQL:
DECLARE id_historico_adscripciones_personal int;
SET @id_historico_adscripciones_personal = (select max(id) from historico_adscripciones_personal)+1;
INSERT INTO historico_adscripciones_personal(id,id_empleado,id_estatus_historico,id_estatus,id_rme_o_dep,sueldo,moneda,observaciones,fecha_creacion,fecha_actualizacion values(@id_historico_adscripciones_personal,@id_empleado_o,@id_estatus_historico_o,5,@id_rme_o_dep,@sueldo_o,@moneda_o,@observaciones_o,now(),now());
我从 MYSQL 收到以下错误:
I get the following error from MYSQL:
Error Code: 1136. Column count doesn't match value count at row 1
我知道这意味着什么,这里的主题是,如果在上面的代码中,我在单词值 @id_historico_adscripciones_personal 后面更改了一个数字(即:71)
I know what that means, the topic here is that if in the code above I change after the word values @id_historico_adscripciones_personal by a number (i.e: 71)
INSERT INTO historico_adscripciones_personal(id,id_empleado,id_estatus_historico,id_estatus,id_rme_o_dep,sueldo,moneda,observaciones,fecha_creacion,fecha_actualizacion) values(71,@id_empleado_o,@id_estatus_historico_o,5,@id_rme_o_dep,@sueldo_o,@moneda_o,@observaciones_o,now(),now());
我没有收到错误消息.我已经测试了 SET
过程,一切似乎都没有问题.
I dont get the error message. I've already tested the SET
procedure and everything seems to be OK.
推荐答案
您似乎忘记在 INSERT 中关闭括号.
It seems that you forgot close a parenthesis in the INSERT.
INSERT INTO historico_adscripciones_persona (
id,
id_empleado,
id_estatus_historico,
id_estatus,
id_rme_o_dep,
sueldo,
moneda,
observaciones,
fecha_creacion,
-- fecha_actualizacion <-- ")"
fecha_actualizacion)
VALUES (
@id_historico_adscripciones_personal,
@id_empleado_o,
@id_estatus_historico_o,
5,
@id_rme_o_dep,
@sueldo_o,
@moneda_o,
@observaciones_o,
now(),
now()
);
一些注意事项:
@id_historico_adscripciones_personal
是 9.4.用户定义变量和id_historico_adscripciones_personal
一13.6.4.1.局部变量 DECLARE 语法,是不同的变量.- 对于表的下一个
id
,请避免使用 MAX.尝试使用 3.6.9 使用 AUTO_INCREMENT.
@id_historico_adscripciones_personal
is a 9.4. User-Defined Variables andid_historico_adscripciones_personal
one 13.6.4.1. Local Variable DECLARE Syntax, are different variables.- For the next
id
of your tables avoid using MAX. Try using 3.6.9 Using AUTO_INCREMENT.
这篇关于错误代码:1136.列计数与第 1 行的值计数不匹配(我知道这是什么意思)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!