我有一个示例表,例如http://www.sqlfiddle.com/#!2/31e65
CREATE TABLE `t1`(
`id` int(4) NOT NULL AUTO_INCREMENT,
`name` varchar(40),
`signal` int(4),
PRIMARY KEY (`id`),
KEY `id` (`id`),
KEY `signal` (`signal`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `t1`
(`name`, `signal`)
VALUES
('a', 1),
('b', 2),
('c', 3),
('d', 4);
我尝试将新记录插入到表中,列中t1
的值为该signal
列中的最大值 +1
这是我正在使用的代码
Lock tables t1 write;
INSERT INTO `t1`
(`name`, `signal`)
VALUES
(SELECT MAX(signal)+1 FROM t1, 'e');
unlock t1;
但这是失败的。怎么做 谢谢