.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, veri 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öneticisi izinlerine sahip olmanız gerekir.
Sözdizimi
.alter
column
[DatabaseName .
] TableName .
ColumnName type
=
ColumnNewType
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | 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.
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 verilerini 'den
T1
içineT1_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 alım işlem hatlarından
T1
gelen yeni veriler artık doğru yazılıyor.Tabloyu bırakma
T1_prime
T1_prime
yalnızca geçmiş verilerin bir kopyasını içerir (şema değişikliğinden önce) ve şemanın ve içindekiT1
verilerin doğru güncelleştirildiğinden emin olduktan sonra güvenli bir şekilde bırakılabilir..drop table T1_prime
Örnek:
Tablodaki T1
"Sütun1" sütun veri türünü guid'den dizeye 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