请问为什么这个创建的mysql视图不能更新?

请问为什么这个创建的mysql视图不能更新?,第1张

这个视图没有主键;更新表时将会使用下列虚拟语句

update v_sys_user set 更新的列=更新的值 where 列1=列1的旧值 and 列2=列2的旧值 and ... limit 1(这个的意思就是,如果视图是可更新视图,在表格窗口中更改某列值时会使用类似上边的语句来完成,where后是所有的列必须等于旧值)

mysql创建视图

1.

首先查询select

select_priv,create_view_priv

from

mysql.user

where

user

='root'

2.

创建视图create

view

depart_view

as

select

*

from

depart

3.

查询试图结构:desc

depart_view

4.

第二钟创建视图:create

view

depart_view2(id,name)

as

select

id,name

from

depart

以上是单表上创建视图;

5.

多表的视图创建:create

algorithm=merge

view

student_view1(id,name,sex)

as

select

worker.id,name,sex

from

worker,student

where

worker.id

=

student.w_id

with

local

check

option

6.

查看视图的方法:

1、describe

student_view1

2、show

create

view

student_view1

3、show

table

status

like

'视图名'

所有视图定义都存在information_schema数据库下的views表中。查询views表,可以查看到数据库中所有视图的详细信息。查询的语句如下:select

*

from

information_schema.views

视图本来就是随着你表中数据的变化而变化的

所以,当你在A表增加一条数据以后

v_follow中也会有这条新增的数据

所以,无需解决,你只需要自己验证一下就好了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7309576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存