我有一个“情节”表,它会为网格上的每个情节保留一行
即。 3 x 3网格= 9个图
行编号并且列有字母(并且每26个字母获得一个额外的字母,即AA,BB,CC ......,AAA等),因此上面的示例需要插入以下行:
图1A,1B,1C 图2A,2B,2C 图3A,3B,3C
使用MySQL用户定义的变量,是否可以运行单个查询,根据上面列出的详细信息,在我的绘图表中插入所需的图数?
这是起始SQL:
CREATE TABLE `Grids` (
`Grid_ID` int(11) NOT NULL AUTO_INCREMENT,
`Instance_ID` int(11) NOT NULL DEFAULT 0,
`CreateDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`UpdateDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`Columns` int(11) NOT NULL DEFAULT 0,
`Rows` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`Grid_ID`),
CONSTRAINT `Grids_ibfk_1` FOREIGN KEY (`Instance_ID`) REFERENCES `Instances` (`Instance_ID`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
INSERT INTO `Grids` VALUES (NULL,1,NOW(),NOW(),30,50);
CREATE TABLE `Plots` (
`Plot_ID` int(11) NOT NULL AUTO_INCREMENT,
`Grid_ID` int(11) NOT NULL DEFAULT 0,
`Instance_ID` int(11) NOT NULL DEFAULT 0,
`Session_ID` char(32) DEFAULT NULL,
`User_ID` int(11) DEFAULT NULL,
`Transaction_ID` int(11) DEFAULT NULL,
`CreateDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`UpdateDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`Plot` varchar(10) NOT NULL DEFAULT 0,
`ReserveDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ReservationTimeoutDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`PurchaseDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`Plot_ID`),
CONSTRAINT `Plots_ibfk_1` FOREIGN KEY (`Grid_ID`) REFERENCES `Grids` (`Grid_ID`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `Plots_ibfk_2` FOREIGN KEY (`Instance_ID`) REFERENCES `Instances` (`Instance_ID`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `Plots_ibfk_3` FOREIGN KEY (`Session_ID`) REFERENCES `Sessions` (`Session_ID`) ON DELETE SET NULL ON UPDATE CASCADE,
CONSTRAINT `Plots_ibfk_4` FOREIGN KEY (`User_ID`) REFERENCES `Users` (`User_ID`) ON DELETE NO ACTION ON UPDATE CASCADE,
CONSTRAINT `Plots_ibfk_5` FOREIGN KEY (`Transaction_ID`) REFERENCES `Transactions` (`Transaction_ID`) ON DELETE NO ACTION ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
我很确定可以使用CHAR()和递增,但我不确定如何将它拉下来。