ใกล้เลือกตั้งแล้ว เลยจะเขียนอะไรเกี่ยวกับสิทธิดูซักหน่อย สมมุติว่าทำอัลบั้มรูปงานรับปริญญาออนไลน์แต่อยากจะให้สมาชิกดูได้ไม่กี่คน ตามปกติจะมี 3 ตารางคือ ตารางเก็บรูป ตารางสมาชิก และตารางเก็บว่าใครดูได้บ้างอีกตาราง แต่มีเทคนิคที่ทำให้ใช้ 2 ตารางโดยรวมสิทธิไปไว้กับตารางเก็บรูปเลย ก่อนอื่นสร้างตารางก่อน
[sourcecode language=”sql”]

— Table structure for table `images`

CREATE TABLE IF NOT EXISTS `images` (
`imageId` int(11) NOT NULL AUTO_INCREMENT,
`src` varchar(20) NOT NULL,
`assign` varchar(100) NOT NULL,
PRIMARY KEY (`imageId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


— Dumping data for table `images`

INSERT INTO `images` (`imageId`, `src`, `assign`) VALUES
(1, ‘Graduate.jpg’, ‘2,3,15,19’);
[/sourcecode]
สร้างตารางสมาชิกเองนะครับ ^_^ ค่าใน assign คือ id ของ user แต่ละคนคั่นด้วย , เวลาแสดงก็หาได้โดยใช้ไอดีของ user มาใส่ใน function FIND_IN_SET ช่วยเลือกข้อมูลตามตัวอย่าง
[sourcecode language=”sql”]
SELECT `imageId` , `src`
FROM `images`
WHERE FIND_IN_SET( ‘3’, `assign` ) > 0;
[/sourcecode]
ถ้า id 3 มีอยู่ใน assign ก็จะเห็นข้อมูลครับ