नहीं, एक भी पंक्ति नहीं लेकिन एक दृश्य जिसमें एक पंक्ति होती है, जो बदले में, वास्तविक वास्तविक तालिका को अपडेट करेगी।
यह प्रति छात्र विशिष्ट तालिका दृश्य के माध्यम से किया जा सकता है (हाँ यह एक गन्दा डीबी संरचना होगी)। इस उपयोगकर्ता के लिए केवल चुनिंदा/अद्यतनों के लिए दृश्य तक पहुंच प्रदान करें और प्राथमिक कुंजी गैर-अद्यतन योग्य होगी। दृश्य अपडेट होने पर मुख्य तालिका स्वयं अपडेट हो जाएगी।
CREATE SCHEMA `example` ;
CREATE TABLE `example`.`student` (
`id` INT NOT NULL,
`name` VARCHAR(45) NULL,
`email` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
INSERT INTO `example`.`student` (`id`, `name`, `email`) VALUES ('1', 'bob', '[email protected]');
USE `example`;
CREATE
OR REPLACE SQL SECURITY DEFINER
VIEW `student_1` AS
SELECT
`student`.`id` AS `id`,
`student`.`name` AS `name`,
`student`.`email` AS `email`
FROM
`student`
WHERE
(`student`.`id` = '1');
CREATE USER 'student_1_user'@'localhost' IDENTIFIED BY 'user_password';
GRANT SELECT,UPDATE ON example.student_1 TO [email protected] IDENTIFIED BY 'user_password';
UPDATE example.student_1 SET email='[email protected]'; // note no primary key needed or allowed