Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mengemas kini paparan dalam mysql

Bagaimana untuk mengemas kini paparan dalam mysql

PHPz
PHPzke hadapan
2023-05-26 11:52:562556semak imbas

1. Sesetengah paparan tidak boleh dikemas kini kerana kemas kini kepada paparan ini tidak boleh ditukar secara unik dan bermakna kepada jadual asas yang sepadan.

2. Secara umumnya, paparan subset baris dan baris boleh dikemas kini. Sebagai tambahan kepada paparan subset lajur, secara teorinya adalah mungkin untuk mengemas kini beberapa paparan.

Instance

-- 创建视图 ldq_t1
CREATE VIEW ldq_t1 AS
SELECT
  *
FROM
  t3
WHERE id1 > 10 WITH CHECK OPTION ;
-- 查询ldq_t1中的所有结果
SELECT * FROM ldq_t1;
 
-- 创建视图 ldq_t2
CREATE VIEW ldq_t2 AS
SELECT
  *
FROM
  ldq_t1
WHERE id1 < 30 WITH LOCAL CHECK OPTION ;
 
-- 创建视图 ldq_t3
CREATE VIEW ldq_t3 AS
SELECT
  *
FROM
  ldq_t1
WHERE id1 < 30  WITH  CHECK OPTION ;
 
-- 更新视图ldq_t2(只有ldq_t2中存在的数据都可以更新)
SELECT * FROM ldq_t2; -- 查看ldq_t2当前记录
UPDATE ldq_t2 SET id1=5 WHERE id2=22;  -- 可以执行成功
UPDATE ldq_t2 SET id1=35 WHERE id2=22;  -- 将会报错CHECK OPTION failed(因为执行该语句之后,id2=22记录将从ldq_t2消失)
UPDATE ldq_t2 SET id1=28 WHERE id2=22;  -- 可以执行成功
 
 
-- 更新ldq_t3
SELECT * FROM ldq_t3;
UPDATE ldq_t3 SET id1=5 WHERE id2=22;  -- 将会报错CHECK OPTION failed(因为数据更新之后,必须还要保证其仍然在ldq_t3和ldq_t1之中,该语句执行后id2=22记录将从ldq_t1消失)
UPDATE ldq_t3 SET id1=15 WHERE id2=22; -- 能够执行成功
UPDATE ldq_t3 SET id1=35 WHERE id2=22; -- 将会报错CHECK OPTION failed(因为执行该语句之后,id2=22记录将从ldq_t3消失)
DELETE FROM  ldq_t3 WHERE id2=22;  -- 执行成功

Atas ialah kandungan terperinci Bagaimana untuk mengemas kini paparan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Apakah kaedah pertanyaan MySql?Artikel seterusnya:Apakah kaedah pertanyaan MySql?