Kể từ khi cú pháp tương đương (trong MySQL dù sao đi nữa), tôi thích cú pháp INSERT INTO table SET x=1, y=2
, vì nó là dễ dàng hơn để sửa đổi và dễ dàng hơn để bắt lỗi trong báo cáo kết quả, đặc biệt là khi chèn nhiều cột. Nếu bạn phải chèn 10 hoặc 15 cột trở lên, thật dễ dàng để kết hợp một cái gì đó bằng cách sử dụng cú pháp (x, y) VALUES (1,2)
, theo ý kiến của tôi.
Nếu tính di động giữa các tiêu chuẩn SQL khác nhau là một vấn đề, thì có lẽ INSERT INTO table (x, y) VALUES (1,2)
sẽ được ưu tiên hơn.
Và nếu bạn muốn chèn nhiều bản ghi trong một truy vấn, có vẻ như cú pháp INSERT INTO ... SET
sẽ hoạt động, trong khi cú pháp kia sẽ hoạt động. Nhưng trong hầu hết các trường hợp thực tế, bạn đang lặp qua một tập hợp các bản ghi để chèn bất kỳ cách nào, mặc dù có thể có một số trường hợp có thể tạo một truy vấn lớn để chèn một loạt các hàng vào một bảng trong một truy vấn, so với truy vấn mỗi hàng, có thể có cải thiện hiệu suất. Thực sự không biết.
Nguồn
2017-10-24 15:42:56
Sau khi đọc mã Hoàn thành và nhấn mạnh liên tục McConnell về khả năng đọc, có vẻ như không may rằng 'INSERT INTO bảng SET' không phải là tiêu chuẩn. Nó có vẻ rõ ràng hơn nhiều. Tôi đoán tôi sẽ phải sử dụng 'INSERT INTO table ([tên cột, cột name b]) VALUES (['value a', 'value b'])' dù sao mặc dù để tự cứu bản thân khỏi rắc rối nếu tôi chuyển qua tới Postgres. – cluelesscoder
Câu hỏi này đã lan truyền như video của Kanye! – aMazing