gpt4 book ai didi

mysql - 将新列插入表的存储过程

转载 作者:行者123 更新时间:2023-11-29 13:09:58 25 4
gpt4 key购买 nike

我有一张 table :

CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`score` int(11) NOT NULL,
PRIMARY KEY (`id`)

现在我想创建一个存储过程,它将使用下一个 id(自动创建)、名称(我将写入的值)和分数(我将写入)将新列插入到该表中。

我已经尝试过

DELIMITER ;;
CREATE PROCEDURE insertStudent (IN ime varchar(100),IN score int(11))
BEGIN
insert into student (name,score) values (in_score,in_score);
END
;;

但似乎不起作用。

我知道这是基本的,但我需要帮助。

最佳答案

您要插入还是?看起来您正在尝试插入一行,这更为传统。

至于“似乎不起作用”,我想您从数据库中收到错误。那个错误是什么?我猜想这与查询中的未知标识符或语法错误有关。看看你的程序声明:

insertStudent (IN ime varchar(100),IN score int(11))

根据您的查询:

insert into student (name,score) values (in_score,in_score);

查询中的in_score是什么?你从哪里得到的?您这里有几个问题:

  1. in_score 从未定义,而是有名为 imescore 的值
  2. 您尝试将相同的值插入到两种不同类型的列中,这是行不通的。
  3. 您的过程声明可能存在其他问题,我对 SQL 不太熟悉,无法确定。但 INint(11) 对我来说看起来很可疑。

也许您的查询应该是这样的?:

insert into student (name,score) values (ime,score);

至少,即使它不起作用,也可能会改变您看到的错误消息。这将是朝着正确方向迈出的一步。此时继续检查错误消息以帮助调试问题所在。

关于mysql - 将新列插入表的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226782/

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