Column Name Or Number Of Supplied Values Does Not Match Table Definition

  1. Bad Code
    4
    2474
    14.11.2018 11:11:00

    Tablo tipinde değişken tanımladım ve bu tabloya insert yapmaya çalışırken bu hatayı alıyorum. Çözüm nedir?

    Column name or number of supplied values does not match table definition.

    declare @siparis table
    (
    id int,
    musteri nvarchar(50),
    miktar int,
    fiyat money ,
    tarih date
    ) 
    --- satislar
    insert into @siparis values(1,'ahmet', 2,'stok 10',10.5,'2018-10-01')
    
    sql json 2 yıl önce 952 Görüntüleme
    • orkunözdemir tablo sütun sayısı ile values() içindeki eklemek istediğin veri sayısı ile aynı değil sanki, tablonda kaç sütun varsa , eklemek istediğin değerler de aynı olmalı

    • orkunözdemir zaten hatada sana şunu diyor "Sütun Adı Veya Verilen Değerlerin Sayısı Tablo Tanımıyla Eşleşmiyor"

    • Yorum Ekleyin

( 1 ) Cevap

  1. ali
    4
    ali
    6418
    14.11.2018 11:18:00

    Burdaki hata metninde tablo yapısı ile eklemek istediğin insert yaptığın data seti nin uyuşmadığınu söylüyor.

    insert into tablo values dediğin zaman tablonun bütün kolonlarına sırası ile kayıt ataması yapılır.

    Çözüm için

      1) insert into tablo (kolon1,kolon2,kolon3) values (insertdata1,insertdata2,insertdata)
    

    şeklinde olması gerekir.

        2) tablo değişkenine stok kolonu eklenebilir.
    declare @siparis table
    (
    id int,
    musteri nvarchar(50),
    miktar int,
    stok nvarchar(50),
    fiyat money ,
    tarih date
    )
    
    3) yada insert alanından stok kolonunu kaldırırsan sorgu hatasız düzelir.
    

Cevabınız