我想保留MariaDB表的顺序。我实际上希望表改变,而不仅仅是以相反的顺序输出数据。所以我想把位置1的行移到最后,把最后的行移到位置1等。您的SQL语法中有一个错误;请检查与您的MariaDB服务器版本对应的手册,以在第1行的“FROM wp_posts”附近使用正确的语法
jvlzgdj91#
需要使用SELECT查询来返回COUNT(*):
SELECT
COUNT(*)
SET @total = (SELECT COUNT(*) FROM wp_posts)
字符串要对ID重新编号,需要分两步进行,这样在此过程中就不会出现重复。首先,对原始范围之外的所有内容重新编号。您还需要使用MAX(id)而不是COUNT(*),因为如果有记录被删除,计数将低于最大ID。
MAX(id)
SET @offset = (SELECT MAX(id) FROM wp_posts); UPDATE wp_posts SET id = @offset + id;
型然后将它们重新编号回原始范围:
UPDATE wp_posts SET id = @offset - (id - @offset);
型
1条答案
按热度按时间jvlzgdj91#
需要使用
SELECT
查询来返回COUNT(*)
:字符串
要对ID重新编号,需要分两步进行,这样在此过程中就不会出现重复。首先,对原始范围之外的所有内容重新编号。您还需要使用
MAX(id)
而不是COUNT(*)
,因为如果有记录被删除,计数将低于最大ID。型
然后将它们重新编号回原始范围:
型