【发布时间】:2020-09-19 05:04:11
【问题描述】:
我正在尝试从 phpmyadmin 上的数据库中填充一个表,所以我有这个脚本:
USE avi; //database
SET @listOfStates = 'AK, AL, AR, AS, AZ, CA, CO, CT, DC, DE, FL, GA, GU, HI, IA, ID, IL, IN, KS, KY, LA, MA, MD, ME, MI, MN, MO, MP, MS, MT, NC, ND, NE, NH, NJ, NM, NV, NY, OH, OK, OR, PA, PR, RI, SC, SD, TN, TX, UM, UT, VA, VI, VT, WA, WI, WV, WY';
SET @item = SUBSTRING_INDEX(@listOfStates, ',', 1);
SET @itemValue = 0;
CREATE PROCEDURE populate()
BEGIN
SET @strLen = LENGTH(@listOfStates);
label1: LOOP
SET @strLen = LENGTH(@listOfStates);
SET @item = SUBSTRING_INDEX(@listOfStates, ',', 1);
SELECT COUNT(*) INTO @itemValue FROM us_accidents u WHERE u.state LIKE item;
INSERT INTO state_cases (name, cases) VALUES (@item, @itemValue);
SET @SubStrLen = LENGHT(SUBSTRING_INDEX(listOfStates, ',', 1));
SET @listOfStates = MID(listOfStates, SubStrLen, strLen);
IF listOfStates = NULL
LEAVE label1;
ITERATE label1;
END LOOP label1;
END;
当我尝试导入时,我得到了这个
我使用 SET @ 错了吗?还是我的程序甚至 varchar 有问题?
我提到表已经创建。
【问题讨论】:
标签: mysql sql stored-procedures phpmyadmin