2009-05-30 1 views
4

を変更する:この中問題私は、この列のリストを変更しようとすると、表の列ORDER(SQL Server 2008の)

Nombre 
Imagen 
Descripcion 
Activo 
IdLineaProducto 

(IdLineaProductoが最初である)

IdLineaProducto 
Nombre 
Imagen 
Descripcion 
Activo 

SQL Server Management Studioを言いますテーブルを削除して再作成する必要があるため(スペイン語...)、変更を保存することはできません。 SQL Server 2005ではこれを実行できますが、SQL Server 2008では実行できませんでした。

int以外の列をIDに変換しようとするような場合も同じです。なぜこれが起こるのですか?どうすれば解決できますか?たぶんいくつかの設定ミス? SQL Serverの新機能

答えて

4

私はsolution to this problemを見つけました。

これはデザインであり、迅速プロパティのチェックを外すことにより、 Management Studioで固定 することができます。 Management Studioでこれを修正するには、ツール - > のオプションを選択し、デザイナーページ に移動し、「テーブルの再作成が必要な変更を保存しない( )」チェックボックスをオフにします。

undesired consequencesは、これに関連する他のテーブルのデータを失うように注意してください。

+0

あなたの答えを受け入れる。あなた自身が質問に答えたようです。私はそれが以前のバージョンと同じようにSQL2008が可能ではなかったのかと疑問に思いました。 +1 – ichiban

1

あなたDROPそれとCREATEそれが(通常はIDEがで役立つかもしれない、アウトバックでデータをコピー)しない限り、あなただけの、最後に列を追加することができます...それが動作するだけの方法です。しかしなぜあなたは注文を変更したいですか?それは理想的ではない場合でも、あなたのSELECTなどがIDENTITY再この...すなわち

SELECT IdLineaProducto, Nombre, Imagen, Descripcion, Activo 
FROM TheTable 
... 

(それだけでSELECT *を使用することがめったに良いアイデアではありません)


を扱うことができます。再び、これはカラムの基本ですが、この場合はDROPカラム、IDENTITYというカラムを再びADD(右側)にコピーしてからコピーしてください。 IDENTITY INSERTSEEDの値で余分な合併症(既存のID値の重複を取得しないように)

+0

まあ、そうです、あなたは正しいです。しかし、私は特定の論理的順序、特にテーブルが多くの列を持っているときに、データベースの列を見ていました。また、私はTSQLコードではなく、デザイナーと作業することについて話しています。私がデザイナーと一緒に仕事をするとき、私はこれらのメッセージを受け取ります。 – eKek0

関連する問題