Количество столбцов не совпадает со значением в строке 1 - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь заполнить таблицу 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`)
);

Я дал все столбцы в хранимой процедуре.Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 30 апреля 2019

Это была проблема с CAST.Использование CONCAT () решило проблему,

CREATE DEFINER=`root`@`localhost` PROCEDURE `GenerateManagerData`()
BEGIN
DECLARE i INT DEFAULT 38;
WHILE i <= 100 DO
INSERT INTO projectManager(name,email,contact_number) VALUES (CONCAT('M', i), CONCAT('e', i, '@gmail.com'), CONCAT('TP', i));
SET i = i + 1;
END WHILE;
END
...