The MySQL database can use triggers to make it impossible to modify the data in some fields without affecting other fields being modified.
DROP TRIGGER IF EXISTS ' members ';
SET @OLD_SQL_MODE =@ @SQL_MODE, sql_mode= ';
DELIMITER//
CREATE TRIGGER ' members ' before UPDATE in ' members ' for each ROW BEGIN
set New.name = old.name;
set new.cellphone = Old.cellphone;
Set New.email = Old.email;
Set new.password = Old.password;
end//
DELIMITER;
SET sql_mode= @OLD_SQL_MODE;
Let me cite one more example:
CREATE TABLE ' account ' (
' id ' INT "UNSIGNED not NULL auto_increment,
' user ' VARCHAR" not null DEFAULT ' 0 '),
' cash ' FLOAT not NULL DEFAULT ' 0 ',
PRIMARY KEY (' id ')
)
collate= ' utf8_general_ci '
engine=innodb;
Add a new piece of data to each data change
INSERT into ' test '. ' Account ' (' User ', ' cash ') VALUES (' Neo ', -10);
INSERT into ' test '. ' Account ' (' User ', ' cash ') VALUES (' Neo ',-5);
INSERT into ' test '. ' Account ' (' User ', ' cash ') VALUES (' Neo ');
INSERT into ' test '. ' Account ' (' User ', ' cash ') VALUES (' Neo ',-20);
Protect the user's balance from being modified
DROP TRIGGER IF EXISTS ' account ';
SET @OLD_SQL_MODE =@ @SQL_MODE, sql_mode= ';
DELIMITER//
CREATE TRIGGER ' account ' before UPDATE to ' account ' for each ROW BEGIN
set New.cash = old.cash;< c11/>end//
DELIMITER;
SET sql_mode= @OLD_SQL_MODE;