Pengguna anonim
Lebih
Nama kolom atau jumlah dari nilai-nilai yang disediakan tidak sesuai dengan definisi meja
Di SQL server, saya mencoba untuk memasukkan nilai-nilai dari satu meja ke yang lain dengan menggunakan query di bawah ini:
delete from tblTable1
insert into tblTable1 select * from tblTable1_Link
Saya mendapatkan error berikut:
Kolom nama atau jumlah dari nilai-nilai yang disediakan tidak sesuai dengan definisi tabel.
Saya yakin bahwa kedua tabel memiliki struktur yang sama, yang sama dengan nama kolom dan tipe data yang sama.
Mohon bantuan!
42
12
Mereka don't memiliki struktur yang sama... saya bisa menjamin mereka berbeda
Aku tahu kau've sudah dibuat itu... sudah Ada sebuah benda bernama 'tbltable1' dalam database
Apa yang anda mungkin ingin ini (yang juga memperbaiki masalah lain):
untuk sisipan itu selalu lebih baik untuk menentukan nama kolom seperti berikut
bekerja dengan baik, mengubah tabel def untuk menyebabkan kesalahan
Tapi perubahan atas untuk
karya-karya. Anda perlu untuk lebih spesifik dengan kolom yang ditentukan
pasokan struktur dan kita bisa melihat-lihat
Ini adalah posting yang lebih tua tapi aku ingin juga menyebutkan bahwa jika anda memiliki sesuatu seperti
dan bla dan blah2 identik diingat bahwa kolom dihitung akan melemparkan kesalahan yang sama...
Aku baru sadar bahwa ketika di atas gagal dan saya mencoba
Dalam contoh saya itu fullname bidang (dihitung dari pertama dan terakhir, dll)
Masalahnya adalah bahwa anda mencoba untuk memasukkan data ke database tanpa menggunakan kolom. Sql server memberikan pesan kesalahan.
kesalahan:
insert into user values('1', '2','3')
- ini bekerja baik-baik saja selama anda hanya memiliki 3 kolomjika anda memiliki 4 kolom, tetapi hanya ingin memasukkan ke 3 dari mereka
benar:
insert into users (nama depan,nama belakang,kota) values ('Tom', 'Jones', 'Miami')
semoga ini bisa membantu
Menjatuhkan meja itu bukan pilihan bagi saya, karena saya'm menjaga menjalankan log. Jika setiap waktu yang saya butuhkan untuk menyisipkan saya harus drop, meja akan menjadi tidak berarti.
Kesalahan saya adalah karena saya memiliki beberapa kolom dalam pernyataan create table itu adalah produk dari kolom lain, perubahan ini tetap masalah saya. misalnya
cek id adalah Identitas , jika hal ini maka pastikan ada ID not null Identity(1,1) dan sebelum membuat table , Drop table, dan kemudian membuat tabel.. Setelah 2 hari saya soal saya masalah ini..
Update untuk SQL server 2016/2017/... Kami memiliki beberapa prosedur yang tersimpan dalam tempat untuk impor dan ekspor database. Di sp kita gunakan (antara lain) FILELISTONLY gulung balik DARI DISK di mana kita membuat meja "#restoretemp" untuk memulihkan dari file.
Dengan SQL server 2016, MS telah menambahkan bidang SnapshotURL nvarchar(360) (mengembalikan url Azure) apa yang telah menyebabkan pesan kesalahan. Setelah saya telah meningkatkan lapangan tambahan, pemulihan telah bekerja lagi. Kode dipotong (lihat bidang terakhir):
Waspadai pemicu. Mungkin masalah ini adalah dengan beberapa operasi di pelatuk untuk dimasukkan baris.
awalan kolom tidak sesuai dengan nama tabel atau nama alias yang digunakan dalam query.
Saya juga bekerja untuk mengatasi kesalahan ini
Nw saya menemukan mengapa itu datang hanya perlu untuk membuat perubahan kecil dalam query
http://sqlerrormessages.blogspot.com/2009/08/sql-server-error-messages-msg-107.html
Computed kolom membuat masalah. Jangan gunakan
SELECT *
. Anda harus menentukan masing-masing bidang setelah PILIH kecuali computed bidangSaya harap anda telah menemukan solusi yang baik. Aku punya masalah yang sama, dan cara saya bekerja di sekitar itu mungkin bukan yang terbaik tapi itu bekerja sekarang.
ini melibatkan menciptakan linked server dan menggunakan dynamic sql - bukan yang terbaik, tapi jika ada yang bisa menunjukkan sesuatu yang lebih baik, silakan komentar/jawaban.
ini bekerja untuk saya sekarang. Saya dapat menjamin jumlah kolom dan tipe kolom yang dikembalikan oleh disimpan prosedur yang sama seperti dalam tabel ini, hanya karena aku kembali meja yang sama dari prosedur yang tersimpan.
terima kasih dan salam marcelo
Bagi saya pelakunya adalah int nilai yang diberikan untuk gaji
Insert into Pegawai(ID,nama depan,nama Belakang,jenis Kelamin,Gaji) values(3,'Kanada', 'pa', 'm',15,000)
di kolom gaji Ketika kita menetapkan 15,000 compiler memahami 15 000.
Koreksi ini bekerja dengan baik bagi saya. Insert into Pegawai(ID,nama depan,nama Belakang,jenis Kelamin,Gaji) values(4,'KAMI', 'sam', 'm',15000)