SQL SERVER มีคำสั่งFixค่าตัวเลขเฉพาะไหมครับ! +1

เริ่มโดย id09318, 30 กรกฎาคม 2016, 09:56:12

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

id09318

เช่นตัวอย่างในรูป* เราสามารถกำหนดให้มันรับเฉพาะค่า 256 กับ 1024
ถ้าเป็นค่าอื่นเข้ามาให้มัน auto เป็น 0 ทันที แบบนี้สามารถทำได้ไหมครับ




+1 ครับ  :wanwan017:
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

sputtaro

#1
ถ้าหมายถึง MySQL
ลองดูแนวทางเขียนคำสั่ง จากที่นี่ครับ
http://stackoverflow.com/questions/2177543/mysql-using-if-then-else-in-mysql-update-or-select-queries
แล้วประยุกต์เอานะครับ

ผมใช้อีกแบบ เพราะคนละวัตถุประสงค์ เลยไม่ได้เอาแบบที่ผมใช้มาให้ดูครับ
คือผมใช้ ประมาณนี้ครับ
INSERT INTO ...
SELECT ...
WHERE ...
ON DUPLICATE KEY UPDATE ... CASE ...
WHERE ...

id09318

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

ohmohm

ลองใช้ CHECK Constraints


ALTER TABLE tablename
ADD CONSTRAINT checkconstname CHECK ( columnname in (256, 1024) );
GO

ส่วนค่า 0 น่าทดลองว่า ถ้าตั้ง default ให้กับ column ของ table ให้เป็น 0 แล้วจะได้ผลไหม น่าทดลองๆ

https://technet.microsoft.com/en-us/library/ms179491(v=sql.105).aspx

id09318

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.