.alter column komutu
Varolan bir tablo sütununun veri türünü değiştirir.
Uyarı
Bir sütunun veri türünü değiştirirken, bu sütundaki önceden var olan veriler gelecekteki sorgularda null değer döndürür.
kullandıktan .alter column
sonra, sütun türünü önceki bir değere geri döndürmek için başka bir komut kullanılarak bile bu veriler kurtarılamaz.
Önceden var olan verileri korumanız gerekiyorsa, verileri kaybetmeden bir sütunun türünü değiştirmek için önerilen yordamımıza bakın.
İzinler
Bu komutu çalıştırmak için en az Tablo Yönetici izinlerine sahip olmanız gerekir.
Syntax
.alter
column
[DatabaseName.
] Tablename.
Columnnametype
=
ColumnNewType
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
Databasename | string |
Tabloyu içeren veritabanının adı. | |
TableName | string |
✔️ | Değiştirecek sütunu içeren tablonun adı. |
Columnname | string |
✔️ | Değiştirecek sütunun adı. |
ColumnNewType | string |
✔️ | Sütunun yeni veri türü . |
Örnek
.alter column ['Table'].['ColumnX'] type=string
Veri kaybı olmadan sütun türünü değiştirme
Geçmiş verileri korurken sütun türünü değiştirmek için yeni, düzgün yazılan bir tablo oluşturun.
Bir sütun türünü değiştirmek istediğiniz her tablo T1
için aşağıdaki adımları yürütebilirsiniz:
Doğru şemaya sahip bir tablo
T1_prime
oluşturun (doğru sütun türleri ve aynı sütun sırası).Gerekli veri dönüştürmelerini uygulayarak verileri 'den
T1
'eT1_prime
alın. Aşağıdaki örnekte, Sütun1 dize veri türüne dönüştürülüyor..set-or-append T1_prime <| T1 | extend Col1=tostring(Col1)
Tablo adlarının değiştirilmesine izin veren .rename tables komutunu kullanarak tabloları değiştirin.
.rename tables T_prime=T1, T1=T_prime
Komut tamamlandığında, mevcut alma işlem hatlarından gelen yeni veriler artık doğru yazıldığında bu veri akışı
T1
yapılır.Tabloyu bırakma
T1_prime
T1_prime
geçmiş verilerin yalnızca bir kopyasını içerir (şema değiştirilmeden önce) ve içindeki şema ve verilerinT1
doğru güncelleştirildiğinden emin olduktan sonra güvenle bırakılabilir..drop table T1_prime
Örnek:
Tablodaki T1
"Sütun1" veri türünü guid olan dize olarak değiştirin.
// Create table T1
.create table T1 (Col1:guid, Id:int)
// Ingest sample data into T1
.ingest inline into table T1 <|
b642dec0-1040-4eac-84df-a75cfeba7aa4,1
c224488c-ad42-4e6c-bc55-ae10858af58d,2
99784a64-91ad-4897-ae0e-9d44bed8eda0,3
d8857a93-2728-4bcb-be1d-1a2cd35386a7,4
b1ddcfcc-388c-46a2-91d4-5e70aead098c,5
// Create table T1_prime with the correct schema and same column order
.create table T1_prime (Col1:string, Id:int)
// Append data to the new table
.set-or-append T1_prime <| T1 | extend Col1=tostring(Col1)
// Rename tables
.rename tables T1_prime = T1, T1 = T1_prime
// Drop table T1_prime, which now has the old schema and data
.drop table T1_prime
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin