ALTER TABLE Log ADD log_id bigint IDENTITY BEFORE cust_id_fk
上記のコードは、最後の位置に新しい列を追加します。私はそれを最初の位置に追加したい。また、私はそれを主キーとしたい。MSSQL Serverの特定の位置に列を追加します。
ALTER TABLE Log ADD log_id bigint IDENTITY BEFORE cust_id_fk
上記のコードは、最後の位置に新しい列を追加します。私はそれを最初の位置に追加したい。また、私はそれを主キーとしたい。MSSQL Serverの特定の位置に列を追加します。
テーブルを削除し、列を正しい順序で再作成する必要があります。 SSMSでテーブルを変更すると、変更スクリプトを生成して、それを使用して本番サーバーに変更を展開することができます。
それは主観的な点です。しかし、あなたの質問はSQL Serverとしてタグ付けされているので、なぜ私はSSMSについて言及したのですか? –
あなたの答えを選択した理由は同じものを実装するメソッドがない –
これはMSSQLを使用しない理由です。"MongoDB"のGoogleの提案を示唆するかもしれない;) – sean2078
別のテーブルを作成してデータをコピーする必要があります。しかし、 "順序の位置"を見て、それを更新しようとする?
SELECT
ORDINAL_POSITION
,COLUMN_NAME
,DATA_TYPE
,CHARACTER_MAXIMUM_LENGTH
,IS_NULLABLE
,COLUMN_DEFAULT
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Product'
ORDER BY
ORDINAL_POSITION ASC;
プライマリキーは、多くの回答を見つけることができる別の質問です。
関係なく、とにかくできない – gbn
質問が古い場合でも、より正確なManagement Studioが必要です。
この列は、手動で作成することも、Management Studioで作成することもできます。しかし、Management Studioはテーブルを再作成する必要があり、あまりにも多くのデータがある場合はタイムアウトになり、テーブルが軽い場合を避けてください。
列の順序を変更するには、単にManagement Studioで列を移動するだけです。これは、テーブル定義内の列の順序を変更する可能性が最も高いため、Management Studioがテーブルを再作成する必要はありません(例外が存在する可能性が最も高い)。
私はGUIを使って列を追加することができないため、このように多くの機会にGUIのデータを使用しています。その後、Management StudioのGUIを使用して列を移動し、単純に保存しました。
あなたは保証されたタイムアウトから数秒待つことになります。
MSSMSでは、オブジェクトエクスプローラでテーブルを選択します。右クリックし、[変更]を選択します。 これにより、新しいデフォルトの順序に列をドラッグできる新しいタブが表示されます。 保存してください!完了しました。
ステップ:
テーブルの列の「順序」は重要ではありません。物理的な格納順序はliですとにかくあなたが見ているものとは異なる。 –
OCD以外は**ノー**の違いがあります。 [One](http://stackoverflow.com/questions/6121884/sql-server-2008-cannot-insert-new-column-in-the-middle-position-and-change-dat/6121952#6121952)と[ 2](http://stackoverflow.com/questions/6692021/performance-space-implications-when-ordering-sql-server-columns/6692107#6692107)。 FYI @Damien_The_Unbelieverあなたをバックアップするための情報 – gbn
私の欄がきれいに見えるようにしたい。 – Chloe