【发布时间】:2018-08-06 23:40:47
【问题描述】:
大家好,我有一个 mySQL 数据库,其中有一个名为 queue 的表,其中行包括歌手和歌曲列。我正在使用表格来保持歌手上升的顺序有一个自动增量 ID
我试图找到的正确语法是使用新的自动增量 ID 值将表中的第一行复制到最后一行,然后删除第一行。在我尝试写之前,这似乎不是一个挑战。欢迎任何想法。
自从得到答案后,我尝试了这个.. 但不断收到错误 1111
UPDATE `queue`
SET `id` = MAX(id) + 1;
WHERE `id` = MIN(id);
这个也试过了……怎么这么难。
Set $max = (SELECT MAX(id) + 1 FROM queue);
Set $min = (SELECT MIN(id) FROM queue);
UPDATE `queue`
SET `id` = $max
WHERE `id` = $min;
所以我已经放弃了 max() min() 的想法,除非有人有可用的答案并转向我最初的想法并且我非常接近。但我的问题是我不知道要删除的最低 id 因为它只会是 1 一次所以我需要以某种方式用 MIN(id) 值或变量填充它。这就是我所在的位置。
INSERT INTO queue (SELECT NULL,singer, song1 FROM queue WHERE id = 1);
DELETE FROM queue ORDER BY id ASC LIMIT 1;
【问题讨论】:
-
Mysql不是php,$没有标记变量。 @ 会。
标签: mysql