2016-04-30 79 views
0

我正在使用MYSQL并希望基于外表对我的主表进行状态更新。我在下面列出我的问题基于mysql中的另一个表更改表的状态

enter image description here

我想,当所有与表T2相同的ID(比如X001)的记录的状态更改为1,表T1的自动状态为ID X001被设置为1,如下图所示

enter image description here

希望我是清楚的,请帮帮忙,先谢谢了。

我试图与此

更新T1设置状态= 1其中id =(选择来自T2 id其中状态<> 0组由ID,状态)

但它更新T1的状态时,它在t2中为不同的id找到状态1。 我要当的T2的状态所有的值设置为1,每个ID

请帮助

+0

您需要触发器更新吗?或者您手动执行更新? – scaisEdge

+0

你可以请我提供触发语法,我没有太多的想法触发 –

回答

0

你应该创建一个联接两个表显示的状态视图该表只应更新。

如果每次状态更改时都尝试更新两个表,则可能会得到不一致的表。视图就像一张桌子一样工作,但您可以加入并选择操作来设置结果的格式。

更多关于视图:http://www.w3schools.com/sql/sql_view.asp

+0

实际上我想要一个触发器实现,因为加入不会解决我的问题 –

+0

你想有不一致的状态,只有在T1更新后才同步? –

相关问题