推奨チュートリアル: 「mysql ビデオ チュートリアル 」
テーブル フィールドを削除する SQL ステートメントとは何ですか?
テーブル フィールドを削除する SQL ステートメントは次のとおりです:
1. デフォルト値を使用しない列の削除:
alter table Test drop COLUMN BazaarType
2. デフォルト値を使用して列を削除します値 値の列:
最初に制約を削除します (デフォルト値) alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F
(alter table Test DROP COLUMN BazaarType
エラーが表示されます。つまり、DF__SheetTest__Attac__0F8D3381)
次に列を削除します alter table Test DROP COLUMN BazaarType
3.
ALTER TABLE 表名 ADD 字段名 INT DEFAULT (0) NOT NULL;
主キー フィールド タイプの変更
alter table [tablename] alter column [colname] [newDataType])
テーブルのフィールド タイプを変更すると、制約があるためエラーが報告されます。
a.テーブル内のフィールドを NOT NULL に設定したり、フィールドにデフォルト値を追加したりする操作では、フィールドに制約が追加されます。これらの制約を追加した後、SQL スクリプトを使用してフィールド タイプを変更し、フィールドを削除します。同様のエラーが発生します。
b. フィールド上の既存の制約を見つけて、既存の制約を削除します。
c. 変更/削除スクリプトを再度実行します。
解決策:
1. テーブル内のフィールドの制約名を見つけます (または、既存のプロンプトとオブジェクト 'DF__******' に基づいて) )
declare @name varchar(50) select @name =b.name from sysobjects b join syscolumns a on b.id = a.cdefault where a.id = object_id('TableName') and a.name ='ColumName'
2. 既存の制約を削除します
exec('alter table TableName drop constraint ' + @name)
例: exec
('alter table T_tableNamedropconstraint エラー メッセージの制約名' )
3. 次に、スクリプトを実行してフィールド タイプを変更します
alter table dbo.T_tableName alter column Id BIGINT not NULL alter table dbo.T_tableName add constraint PK_Id primary key(Id)
推奨関連記事: "SQL データベース テクノロジに関する記事"
以上がテーブルのフィールドを削除する SQL ステートメントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。