gpt4 book ai didi

作为变量插入的 MySql 过程值

转载 作者:行者123 更新时间:2023-11-30 01:02:19 25 4
gpt4 key购买 nike

我在使用 MySql 过程时遇到一些问题。我有:

DROP TABLE IF EXISTS `employees2`;
CREATE TABLE `employees2` (
`LastName` varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL default '',
`FirstName` varchar(10) character set utf8 collate utf8_unicode_ci NOT NULL default ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

它可以工作并且没问题。

和MySQL程序:

DROP PROCEDURE IF EXISTS gen;

DELIMITER $$
CREATE PROCEDURE gen()
BEGIN
DECLARE e1 TEXT;
DECLARE e2 TEXT;
DECLARE e3 TEXT;
SET e1 = "Davolio";
SET e2 = "Nancy";
SET e3 = "Ron , Deplin";
insert into `employees2`(`LastName`,`FirstName`) values ('Nonew','adams');
insert into `employees2`(`LastName`,`FirstName`) values (e1,e2);
insert into `employees2`(`LastName`,`FirstName`) values (e3);

END $$
DELIMITER ;

call gen();

我想插入变量 e3 中的表值。 “Ron”用于列 LastName,“Deplin”用于列 FirstName。但我收到错误:“错误代码:1136。列计数与第 1 行的值计数不匹配”第一次和第二次插入工作正常。如何强制第三个插入工作?

最佳答案

您仅指定了一个值,其中包含上次插入中命名的两列,因此行数不相等。

请参阅这篇文章,了解如何使用 MySQL 来拆分字符串,例如获得两个值条目: https://stackoverflow.com/a/9953163/2812842

关于作为变量插入的 MySql 过程值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20009661/

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