![](/img/trans.png)
[英]cursor in mysql returns error Error Code: 1136. Column count doesn't match value count at row 1
[英]Error Code: 1136. Column count doesn't match value count at row 1 (I know what does it mean)
我正在创建一个在 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 收到以下错误:
Error Code: 1136. Column count doesn't match value count at row 1
我知道这意味着什么,这里的主题是,如果在上面的代码中,我在单词值 @id_historico_adscripciones_personal 之后更改了一个数字(即: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
过程,一切似乎都很好。
您似乎忘记在 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 Using AUTO_INCREMENT 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.