gpt4 book ai didi

Mysql 列计数与值计数不匹配(但确实如此!)

转载 作者:行者123 更新时间:2023-11-29 19:10:01 26 4
gpt4 key购买 nike

我正在 mysql 中运行以下过程:

create procedure addSavingAccount(id int(10), account_number varchar(10))
begin
insert into saving values(id,'savings', account_number, 0);
end //

但是,当我尝试调用它时,它给了我这个错误:

mysql> call addSavingAccount(103, 'B505');
ERROR 1136 (21S01): Column count doesn't match value count at row 1

我检查了任何可以链接到它的东西,包括触发器。但一切似乎都应该有效。这是我的触发器列表:

create trigger balance_change_saving after update on saving for each row
begin
if old.balance != new.balance
then

insert into balance_update_history values(null, 'saving', new.account_number, old.balance, new.balance,
(SELECT NOW()), (select USER()));
end if;
end//

create trigger balance_insert_saving after insert on saving for each row
begin
insert into balance_update_history values(null, 'saving', new.account_number, 0, new.balance, (select now()),
(select user()));
end //


create trigger balance_delete_saving after delete on saving for each row
begin
insert into balance_update_history values(null, null, null, old.balance, null,
(SELECT NOW()), (select USER()));
end //

这是我定义表格的地方:

create table if not exists saving(account_number varchar(10) , customer_id int(10), balance decimal(8,2), primary key(account_number));

我真的很想弄清楚这个问题。

最佳答案

根据您的表创建语句,有三列,而不是四列。 (该插入中的最后一个 0 是什么?)

此外,在该过程中,您的插入值似乎相对于表创建顺序是无序的?因此,您可以重新排列插入值以匹配表,或者使用插入指定列。

关于Mysql 列计数与值计数不匹配(但确实如此!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43163485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com