表结构:
0 1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE `table_a` ( `aid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(250) NOT NULL DEFAULT '', PRIMARY KEY (`aid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 CREATE TABLE `table_b` ( `mid` mediumint(8) NOT NULL, `name` varchar(250) NOT NULL DEFAULT '', PRIMARY KEY (`aid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
table_a表中aid为自增长字段
要求使用在插入表table_a后的自增字段aid值做为表table_b的mid字段值,并且用这个值连接固定字符串“abc”后做为字段name2的值,完全使用MySql语言。
0 1 2 |
INSERT INTO `table_a` (aid,name) values ('','haha'); SELECT @len:=max(aid) FROM destoon_a; INSERT INTO `table_b` (mid,name2) VALUES ('', CONCAT('abc', @num)); |
设置变量@len
max(aid) 获取mysql在插入一条数据后的自增ID值
CONCAT(‘abc’, @num) 按照参数的顺序拼接成一个字符串做为返回值
知识点:
mysql中变量不用事前申明,在用的时候直接用“@变量名”使用就可以了。
第一种用法:set @num=1; 或set @num:=1; //这里要使用变量来保存数据,直接使用@num变量
第二种用法:select @num:=1; 或 select @num:=字段名 from 表名 where ……
注意上面两种赋值符号,使用set时可以用“=”或“:=”,但是使用select时必须用“:=赋值”