对不起,这个很难在标题中解释。
我有一个像这样的简单表:
CREATE TABLE `categories` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(125) NOT NULL,
`desc` text NOT NULL,
`ordering` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
该ordering
列通常在客户端中设置——即客户端可以对这些类别进行拖动和重新排序,因此它不是 auto_incremented。
我的问题是,当我想使用直接 SQL 插入在客户端外部插入一行时,有没有办法ordering
在同一语句中快速获取列的最大值?
就像是:
INSERT INTO `categories` (title, desc, ordering)
VALUES ('test title', 'description', (SELECT max(ordering) FROM `categories`)+1);
我已经在这个主题上尝试了十几种变体,但都没有成功。