Tôi muốn đọc tất cả dữ liệu từ một bảng và chèn một số dữ liệu vào bảng khác. Truy vấn của tôi là
INSERT INTO mt_magazine_subscription [
magazine_subscription_id,
subscription_name,
magazine_id,
status ]
VALUES [
[SELECT magazine_subscription_id,
subscription_name,
magazine_id
FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC], '1']
Nhưng tôi đã gặp một lỗi
#1136 - Column count doesn't match value count at row 1
làm ơn giúp tôi.
hỏi ngày 16 tháng 2 năm 2013 lúc 7:00Feb 16, 2013 at 7:00
Deepu Sankardeepu Sankardeepu sankar
4.2093 Huy hiệu vàng23 Huy hiệu bạc36 Huy hiệu Đồng3 gold badges23 silver badges36 bronze badges
0
Bạn có thể sử dụng Chèn ... Chọn Cú pháp. Lưu ý rằng bạn có thể trích dẫn '1' trực tiếp trong phần chọn.
INSERT INTO mt_magazine_subscription [
magazine_subscription_id,
subscription_name,
magazine_id,
status ]
SELECT magazine_subscription_id,
subscription_name,
magazine_id,
'1'
FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC
Đã trả lời ngày 16 tháng 2 năm 2013 lúc 7:09Feb 16, 2013 at 7:09
Gustav Bertramgustav BertramGustav Bertram
14.3k3 Huy hiệu vàng43 Huy hiệu bạc65 Huy hiệu Đồng3 gold badges43 silver badges65 bronze badges
3
Nếu bạn muốn chèn tất cả dữ liệu từ bảng này sang bảng khác, có một SQL rất đơn giản
INSERT INTO destinationTable [SELECT * FROM sourceDbName.SourceTableName];
Đã trả lời ngày 15 tháng 10 năm 2016 lúc 7:17Oct 15, 2016 at 7:17
5
Nó sẽ không hoạt động như thế này.
Khi bạn cố gắng chèn hàng bằng cách sử dụng truy vấn, tất cả các giá trị sẽ có trong truy vấn.
Với vấn đề trên, bạn muốn chèn
#1136 - Column count doesn't match value count at row 1
4 vào truy vấn chọn, bạn có #1136 - Column count doesn't match value count at row 1
4 1 không thể.Nếu bạn muốn chèn hoặc bạn cần phải chèn bằng truy vấn các giá trị trực tiếp
Kupendra
1,0021 Huy hiệu vàng15 Huy hiệu bạc36 Huy hiệu đồng1 gold badge15 silver badges36 bronze badges
Đã trả lời ngày 16 tháng 2 năm 2013 lúc 7:07Feb 16, 2013 at 7:07
Trên thực tế, truy vấn MySQL để sao chép dữ liệu từ bảng này sang bảng khác là
Insert into table2_name [column_names] select column_name from table1
trong đó, các giá trị được sao chép từ Bảng 1 đến Bảng 2
HK Boy
1.39811 Huy hiệu vàng18 Huy hiệu bạc23 Huy hiệu đồng11 gold badges18 silver badges23 bronze badges
Đã trả lời ngày 26 tháng 12 năm 2013 lúc 11:41Dec 26, 2013 at 11:41
PHPPHPphp
4.1371 Huy hiệu vàng23 Huy hiệu bạc13 Huy hiệu đồng1 gold badge23 silver badges13 bronze badges
Nếu có một khóa chính như "ID", bạn phải loại trừ nó, ví dụ như bảng PHP của tôi có: các cột ID, COL2, COL3, COL4. ID là khóa chính vì vậy nếu tôi chạy mã này:
INSERT INTO php [SELECT * FROM php2];
Tôi có thể gặp lỗi này:
#1136 - Column count doesn't match value count at row 1
6Vì vậy, đây là giải pháp, tôi đã loại trừ khóa "ID":
INSERT INTO php [ col2,col3,col4] [SELECT col2,col3,col4 FROM php2];
Vì vậy, bảng PHP mới của tôi có tất cả các hàng bảng PHP2 nữa.
Đã trả lời ngày 25 tháng 12 năm 2016 lúc 23:03Dec 25, 2016 at 23:03
Baris Kurtbaris KurtBARIS KURT
3643 Huy hiệu bạc13 Huy hiệu Đồng3 silver badges13 bronze badges
INSERT INTO mt_magazine_subscription [
magazine_subscription_id,
subscription_name,
magazine_id,
status ]
VALUES [
[SELECT magazine_subscription_id,
subscription_name,
magazine_id,'1' as status
FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC]];
Đã trả lời ngày 26 tháng 9 năm 2018 lúc 17:11Sep 26, 2018 at 17:11
Thử cái này. Bạn đang làm sai cách.
INSERT INTO mt_magazine_subscription[
magazine_subscription_id,
subscription_name,
magazine_id, status] VALUES [
[SELECT magazine_subscription_id, subscription_name,
magazine_id,1 as status FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC]
]
Vinay
6,8884 Huy hiệu vàng31 Huy hiệu bạc 50 Huy hiệu Đồng4 gold badges31 silver badges50 bronze badges
Đã trả lời ngày 16 tháng 2 năm 2013 lúc 7:05Feb 16, 2013 at 7:05
Amit Gargamit GargAmit Garg
3.7871 Huy hiệu vàng29 Huy hiệu bạc34 Huy hiệu đồng1 gold badge29 silver badges34 bronze badges
1
INSERT INTO mt_magazine_subscription [
magazine_subscription_id,
subscription_name,
magazine_id,
status ]
VALUES [
[SELECT magazine_subscription_id,
subscription_name,
magazine_id,'1' as status
FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC]]
Đã trả lời ngày 16 tháng 2 năm 2013 lúc 7:10Feb 16, 2013 at 7:10
arvin_codeHunkarvin_codeHunkarvin_codeHunk
2.2888 Huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng8 gold badges32 silver badges47 bronze badges
1
Cố gắng sử dụng cái này
#1136 - Column count doesn't match value count at row 1
0Sử dụng giá trị được mã hóa cứng trong mệnh đề chọn
Đã trả lời ngày 10 tháng 9 năm 2021 lúc 9:03Sep 10, 2021 at 9:03
1
Chèn dữ liệu từ bảng này sang bảng khác với điều kiện trong MySQL và tương tự cũng sẽ hoạt động trong SQL Server. Chỉ dữ liệu không hiện có sẽ được cập nhật. Cả hai bảng có cùng cấu trúc nên cột không cần phải vượt qua.
#1136 - Column count doesn't match value count at row 1
1
Ruli
2.47112 Huy hiệu vàng28 Huy hiệu bạc35 Huy hiệu Đồng12 gold badges28 silver badges35 bronze badges
Đã trả lời ngày 9 tháng 11 năm 2021 lúc 11:42Nov 9, 2021 at 11:42
#1136 - Column count doesn't match value count at row 1
2Nhưng đây là một mysql xấu
Thay vào đó làm điều này:
7#1136 - Column count doesn't match value count at row 1
8#1136 - Column count doesn't match value count at row 1
Đã trả lời ngày 23 tháng 9 năm 2013 lúc 18:47Sep 23, 2013 at 18:47
Naveen Rainaveen RaiNaveen Rai
551 Huy hiệu bạc1 Huy hiệu đồng1 silver badge1 bronze badge
3
#1136 - Column count doesn't match value count at row 1
3
Taryn
Phim thương hiệu vàng 238K5555 gold badges362 silver badges403 bronze badges
Đã trả lời ngày 12 tháng 12 năm 2014 lúc 9:49Dec 12, 2014 at 9:49