テーブル内のフィールドを削除する SQL ステートメントは次のとおりです: 1. デフォルト値なしで列を削除 [alter table Test drop COLUMN BazaarType]; 2. デフォルト値のある列を削除 [alter table Test DROP COLUMN BazaarType] ]。
#テーブル内のフィールドを削除する SQL ステートメント
1. デフォルト値を持たない列の削除:alter table Test drop COLUMN BazaarType2. デフォルト値を持つ列を削除します: 最初に制約 (デフォルト値) を削除します
alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F(
alter table Test DROP COLUMN BazaarType エラー メッセージ
DF__SheetTest__Attac__0F8D3381)
alter table Test drop COLUMN BazaarType3。フィールド名を変更します
ALTER TABLE 表名 ADD 字段名 INT DEFAULT (0) NOT NULL;
alter table [tablename] alter column [colname] [newDataType])
テーブルのフィールドの型を変更すると、制約があるためエラーが報告されます。
a. テーブル内のフィールドを
(空ではない) に設定し、フィールドに Default value (デフォルト値) を追加すると、フィールドに制約が追加されます。これらの制約を追加した後、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_tableName drop constraint 报错信息的约束名' )
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 サイトの他の関連記事を参照してください。