0

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);

列の値がその列の最大値+1であるテーブルt1に新しいレコードを挿入しようとしましたsignal

これが私が使用している私のコードです

Lock tables t1 write;
INSERT INTO `t1` 
(`name`, `signal`) 
VALUES
(SELECT MAX(signal)+1 FROM t1, 'e');
unlock t1;

しかし、それは失敗です。ありがとうございます

4

1 に答える 1