gpt4 book ai didi

mysql - 如何以相反的顺序插入行?

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:47 24 4
gpt4 key购买 nike

我想做的是将一个表的行复制到另一个表。我有 2 种选择可以按直接顺序或反向顺序复制它们。我直接订购没有问题。但我无法以相反的顺序插入它们。我正在尝试使用 ORDER BY DESC 来执行此操作,但 DESC 不适用于子查询。所以我用声明来做。 SELECT 按 PRIMARY KEY 以相反的顺序返回我。但是数据库 my_db_copy 中的数据是按直接顺序插入的。如何以相反的顺序插入它们?

set @Query1=Concat ('INSERT INTO my_db_copy.test1 SELECT * FROM my_db.test1 
ORDER BY ', ( SELECT COLUMN_NAME
FROM information_schema.COLUMNS
WHERE (TABLE_SCHEMA = 'my_db')
AND (TABLE_NAME = 'test1')
AND (COLUMN_KEY = 'PRI')), ' DESC');
PREPARE stmt FROM @Query1;
EXECUTE stmt;

最佳答案

SQL 表表示无序 集。没有所谓的“颠倒”顺序。

可以将值分配给自动递增的列以指定特定的顺序。

如果您希望在发出查询时按特定顺序排列结果,则需要明确包含一个order by。没有其他方法可以保证结果集按特定顺序排列。

关于mysql - 如何以相反的顺序插入行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54516132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com