列をvarchar(50)
からnvarchar(200)
に変更しようとしています。このテーブルを変更するためのSQLコマンドは何ですか?
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
_ edit _ 前述のように、NULL/NOT NULLが指定されているはずです。 Rob's answer も参照してください。
NULL可能性を忘れないでください。
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
Alter tableステートメントを使用してください。
Alter table TableName Alter Column ColumnName nvarchar(100)
SQL Server(Transact-SQL)の既存のテーブルの列を変更するための構文は次のとおりです。
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
例えば:
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(75) NOT NULL;
このSQL ServerのALTER TABLE
の例では、last_name
という列をVARCHAR(75)
のデータ型に変更し、列にNULL値を許可しないようにします。
参照してください ここ
Varcharのサイズを大きくしている限り、問題ありません。 テーブルの変更 referenceのとおり
列の精度またはスケールを下げると、データが切り捨てられる可能性があります。
データ型を変更する場合
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
主キーを変更する場合
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)