วิธีแทรกในตารางที่มีเฉพาะคอลัมน์ตัวตนได้อย่างไร


14

เมื่อกำหนดตารางที่มีเพียงคอลัมน์ IDENTITY คุณจะแทรกแถวใหม่ได้อย่างไร ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:

INSERT INTO TABLE
(Syntax error)

INSERT INTO TABLE VALUES()
(Syntax error)

INSERT INTO TABLE (Id) VALUES()
(Syntax error)

ฉันกำลังทดสอบบางอย่างและต้องการเพียงคอลัมน์ตัวตน ไม่ใช่เพื่อการผลิต มิฉะนั้นตารางดังกล่าวสามารถใช้เป็นเครื่องกำเนิดไฟฟ้าตามลำดับที่ไม่จำเป็นต้องมีคอลัมน์อื่น ๆ

คำตอบ:


21

จากเอกสารประกอบ :

DEFAULT VALUES
บังคับให้แถวใหม่มีค่าเริ่มต้นที่กำหนดไว้สำหรับแต่ละคอลัมน์

ดังนั้น:

INSERT dbo.TABLE DEFAULT VALUES;

นอกจากนี้:

  1. ใช้คำนำหน้าสกีมาเสมอ
  2. ยุติข้อความด้วยเซมิโคลอนเสมอ

น่าสนใจดูเหมือนว่าจะเป็นส่วนหนึ่งของ SQL2003 (F222) แต่ฉันไม่เคยเห็นการก่อสร้างมาก่อน (INSERT INTO ดูเหมือนจะต้องการ) คุณเรียนรู้สิ่งใหม่ทุกวัน :-)
Lennart

3

IDENTITY_INSERTอีกวิธีหนึ่งที่จะใช้ ด้วยวิธีนี้คุณสามารถกำหนดค่าที่คุณต้องการใส่ด้วยตนเองดังนี้:

SET IDENTITY_INSERT TABLE ON ;

INSERT INTO TABLE (ID) VALUES (1), (2) ;

SET IDENTITY_INSERT TABLE OFF ;

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.