ทำไมฉันไม่สามารถใช้ NEWSEQUENTIALID () เป็นค่าเริ่มต้นสำหรับคอลัมน์ของฉันได้


18

ฉันกำลังพยายามสร้างตารางใน Management Studio และหลังจากอ่านเกี่ยวกับNEWSEQUENTIALID()ฟังก์ชั่นใหม่ (จาก SQL 2005 เป็นต้นไป) คิดว่าฉันจะเลิกใช้แล้ว

นี่คือสิ่งที่ฉันทำ:

ป้อนคำอธิบายรูปภาพที่นี่

แต่มันไม่ให้ฉัน ข้อความแสดงข้อผิดพลาดที่ฉันได้รับคือ:

'FormTemplate (Forms)' table - Error validating the default for column 'FormTemplateId'.

ฉันไม่มีเคล็ดลับที่นี่หรือไม่ ฉันใช้ SQL Server 2008 R2 แน่นอน

คำตอบ:


5

คุณสามารถแก้ไขข้อผิดพลาดนี้ได้ใน SQL Server Management Studio เพียงแค่ละเว้นคำเตือนที่หนึ่งและที่สอง การเปลี่ยนแปลงจะถูกบันทึกไว้


18

ใช้CREATE TABLEไม่ใช่ GUI

นี่เป็นข้อผิดพลาดใน SSMS แล้วรายงานที่นี่เช่นเดียวกับที่นี่ในการเชื่อมต่อ


5
@ 5arx: กระตุ้นรอบข้อบกพร่องที่สำคัญ 5 ปีสำหรับ MySQL MS มีความคมชัดมากเมื่อเทียบ
GBN

1
@ 5arx เมื่อคุณพิจารณาจำนวนผลิตภัณฑ์ที่ Microsoft ให้การสนับสนุนและคุณสมบัติใหม่ที่เพิ่มเข้ามาในทุกรุ่นฉันคิดว่าเป็นเรื่องที่เข้าใจได้ว่าข้อผิดพลาดที่หลีกเลี่ยงได้ง่ายใน GUI ควรคงอยู่นานหลายปี มันยังดูไม่ดีสำหรับเราในฐานะลูกค้า แต่ในฐานะนักพัฒนาฉันเข้าใจได้
Nick Chammas

1
@ 5arx: เป็นนักพัฒนาใช้ SQL ดิบเหมือนคนส่วนใหญ่ทำ นี่คือเหตุผลที่ฉันไม่เคยเห็นข้อผิดพลาดนี้
gbn

2
ฉันเป็นผู้พัฒนาที่ใช้ฐานข้อมูลไม่ใช่ผู้พัฒนาฐานข้อมูล ฉันไม่เห็นใครใช้ raw SQL เพื่อสร้างตารางตั้งแต่ปลาย 90s จุดของฉันคือถ้าคุณปล่อย GUI ตรวจสอบให้แน่ใจว่ามันใช้งานได้ นั่นคือทั้งหมดที่
5arx

2
UI ไม่ได้รับการจัดลำดับความสำคัญเป็นอย่างมากเมื่อพูดถึงการฆ่าแมลง เครื่องยนต์หลักทำซึ่งควรจะเป็น ทีม UI ไม่ได้มีผู้ชายจำนวนมากอยู่ในนั้นดังนั้นพวกเขาจึงไปถึงสิ่งที่พวกเขาสามารถทำได้โดยการจัดการ (ถ้าไม่ใช่ Azure ในขณะที่ไม่ได้รับการแก้ไข) :(
mrdenny
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.