我有一个包含 6 列的表MyTable
:
当我写时:select * from MyTable 我得到这个结果
姓名 | LAST_NAME | FIRST_NAME | 年龄 | 工资 | ID
我想要的是更改他们的顺序,我希望 ID 位于第一个而不是 lat
示例:当我编写查询 select * from MyTable 我希望结果是这样的:
身份证 | 姓名 | LAST_NAME | FIRST_NAME | 年龄 | 薪水
我为什么要这个?:这个表有一个过程,它接受我插入的内容,并使用解析器为它们创建另一个查询。
示例:如果我插入 id =1 和 name = stack 和 last_name =over,解析器将以这种方式进行:
插入 mytable 值 (1,'stack','over') (这是一个简单的示例,我的解析器很复杂)
所以你会问自己为什么我首先需要它?
因为我有 20 多个开发人员首先考虑 ID。
当我试图修改列 ID 时,这一切都开始了,所以我不得不删除它并再次重新创建列并添加约束并将 NULL 更改为 NOT NULL,在删除它之前我将数据放在一个临时列中,这样我没有丢失数据。但我没有看到的一件事是列顺序。
好吧,我可以简单地告诉开发人员该更改,但如果我这样做了,我会被问到很多问题,我是如何做到的以及为什么这样做。我不想让任何人知道(如果可能的话)
我想到的解决方案之一是创建一个包含正确行的新表。但是程序、触发器将被删除,我必须为该表再次添加它们,我担心重新创建表时会遇到新问题。