在MySQL中为关系添加新记录

时间:2013-11-16 05:35:50

标签: mysql database phpmyadmin

我正在努力了解有关创建“高级”数据库的更多信息,因此我的项目是跟踪名为SaltyBet的网站的输赢。机器人互相争斗,人们打赌结果。我想为自己创建一个数据库来跟踪每个匹配,我手动输入值。

我有两张桌子:

chars只有一个“ID”字段和一个“名称”(唯一)字段,

带有“ID”,“player1”,“player2”,“获胜者”和“赔率”的

matches

我希望它工作的方式是,如果我要在matches中插入一行,它将在chars数据库中创建相应的字符,如果它尚不存在。

我在PHPMyAdmin中设置了以下关系:

Relationships

在“插入”视图中创建此表单:

Insert view

这很好 - 只要我已经输入chars表中的两个字符。但是,通常没有足够的时间通过3个不同的视图在chars表中创建适当的字符,然后在matches表中使用。我有想法创建一个触发器,如果​​它们不存在则插入它们,但是AFAIK我无法维护两个表之间的关系,因为我无法在matches中输入新的。

有没有办法在不用PHP编写表单的情况下轻松解决这个问题?我宁愿学习如何以“正确”的方式做到这一点,而不是依赖于我多年前学到的简单的MySQL命令,而且从未扩展过。

谢谢!

1 个答案:

答案 0 :(得分:2)

我同意如果你想使用在匹配中插入后在字符中创建行的触发器,它将无法工作,因为插入本身会产生问题。

如果没有编写首先在chars中验证该行是否存在的应用程序,如果需要插入它,然后插入到匹配项中,我就不知道如何做到这一点。