我正在努力了解有关创建“高级”数据库的更多信息,因此我的项目是跟踪名为SaltyBet的网站的输赢。机器人互相争斗,人们打赌结果。我想为自己创建一个数据库来跟踪每个匹配,我手动输入值。
我有两张桌子:
chars
只有一个“ID”字段和一个“名称”(唯一)字段,
matches
。
我希望它工作的方式是,如果我要在matches
中插入一行,它将在chars
数据库中创建相应的字符,如果它尚不存在。
我在PHPMyAdmin中设置了以下关系:
在“插入”视图中创建此表单:
这很好 - 只要我已经输入chars
表中的两个字符。但是,通常没有足够的时间通过3个不同的视图在chars
表中创建适当的字符,然后在matches
表中使用。我有想法创建一个触发器,如果它们不存在则插入它们,但是AFAIK我无法维护两个表之间的关系,因为我无法在matches
中输入新的。
有没有办法在不用PHP编写表单的情况下轻松解决这个问题?我宁愿学习如何以“正确”的方式做到这一点,而不是依赖于我多年前学到的简单的MySQL命令,而且从未扩展过。
谢谢!
答案 0 :(得分:2)
我同意如果你想使用在匹配中插入后在字符中创建行的触发器,它将无法工作,因为插入本身会产生问题。
如果没有编写首先在chars中验证该行是否存在的应用程序,如果需要插入它,然后插入到匹配项中,我就不知道如何做到这一点。