保持空值的可更新mysql视图

时间:2017-10-10 17:12:52

标签: mysql join view updatable-views

我们的table1包含列(id,firstname,lastname,gender)。

然后table2与列(manid,bodyfat,mand,matchid)

然后table3与列(womanid,bodyfat,womandate,wmatchid)

所以,在这里,我想创建一个可更新的mysql视图,其中包含table1中的列(id,firstname,lastname,gender),来自table2的列(bodyfat,mand)和来自table3的列(bodyfat,womandate)。 bodyfat是通过javascript计算的,并用php发送到数据库,因此你可以在每一行中理解到视图中我们将table2的列(bodyfat,mand)视为null,否则我们将table3的列视为null(bodyfat) ,womandata)如果我们分别谈论一个男人或一个女人。

Create view myview as
Select table.id, table1.firstname, table1.lastname, table1.gender, 
table2.bodyfat, table2.mandate, table3.bodyfat, table3.womandate
From step1
JOIN table2 ON table1.id = table2.matchid
JOIN table3 ON table1.id = table3.wmatchid;

因此,如果我使用 LEFT JOIN 语句构建我的视图,我将正确显示空值,但此视图不可更新。

如果我使用 JOIN 语句构建我的视图,会发生opossite事情,因此视图现在可以更新,但它不能保留空值。

是否有另一个连接语句可以用来保存空值并且也可以更新?

0 个答案:

没有答案