【发布时间】:2019-09-18 22:14:21
【问题描述】:
我正在尝试使用随机值填充 mqsql 表。我为此创建了一个存储过程,但是当我执行它时,它给了我错误“列数与第 1 行中的值计数不匹配”。
以下是我尝试过的
存储过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `GenerateManagerData`()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= 100 DO
INSERT INTO projectManager(id,name,email,contact_number) VALUES (i+ 'M', CAST(i AS CHAR(10)), 'e'+ CAST(i AS CHAR(10))+ '@gmail.com', 'TP' + CAST(i AS CHAR(10)));
SET i = i + 1;
END WHILE;
END
这是我创建的表
CREATE TABLE `projectmanager` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`contact_number` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email_UNIQUE` (`email`)
);
我已经给出了存储过程中的所有列。请帮我解决这个问题。
【问题讨论】:
-
VALUES (i, 'M', CAST(i AS CHAR(10)), 'e', CAST(i AS CHAR(10)), '@gmail.com', 'TP' , CAST(i AS CHAR(10))) -
已编辑添加 04 个带 + 标记的字段。同样的错误来了
-
使用
CONCAT(),而不是+ -
与错误无关:
+不是 MySQL 中的字符串连接运算符。使用concat()函数连接字符串。
标签: mysql stored-procedures mysql-workbench