Php SQL多个表和一个查找表
我试着四处寻找答案,但还是有点迷路 我有一个使用PHP/SQL存储音乐曲目详细信息的网站。 我想搜索/添加/编辑/删除曲目标题、专辑、作曲家、bpm、时间签名、持续时间、插装、流派、关键字(说明)。 到目前为止,我已经做了一个只有三个表和一个查找表(曲目、作曲家、专辑)的测试版本,它似乎可以进行搜索 表“track”(id,tracktitle) 表“composer”(id,composer名称) 表'album'(id,albumtitle) 表'albumtrack(track.id、composer.id、album.id) 然而,在添加新曲目并为其分配作曲家和专辑时,我似乎无法正确插入位。tracktitle会进入曲目表,但如何在albumtrack查找表中链接它呢 我这里需要一些额外的位子吗Php SQL多个表和一个查找表,php,sql,Php,Sql,我试着四处寻找答案,但还是有点迷路 我有一个使用PHP/SQL存储音乐曲目详细信息的网站。 我想搜索/添加/编辑/删除曲目标题、专辑、作曲家、bpm、时间签名、持续时间、插装、流派、关键字(说明)。 到目前为止,我已经做了一个只有三个表和一个查找表(曲目、作曲家、专辑)的测试版本,它似乎可以进行搜索 表“track”(id,tracktitle) 表“composer”(id,composer名称) 表'album'(id,albumtitle) 表'albumtrack(track.id、co
$sql = "INSERT INTO track SET
track.tracktitle='$tracktitle' ";
还有。。。通过为每一位使用表(bpm表、持续时间表、类型表),我这样做是否正确
一个曲目可能有一个以上的持续时间(不同的编辑)、BPM和时间签名,因此将共享大量数据。
我还希望用户能够搜索一系列持续时间或bpm,例如2到3分钟之间的曲目
在我扩展我的测试版本之前,我需要一些关于我是否以最好的方式来做这件事的建议
谢谢假设“id”字段是自动递增的值(数据库正在为您生成它们),那么在插入曲目后,您必须恢复刚刚添加的行的id(使用mysql\u insert\u id()
)。然后使用该id,加上唱片集和作曲家id,插入到albumtrack中
另外,您应该知道您使用的插入语法是特定于MySQL的。如果您从未考虑过切换DBs,那么这很好,但您可能想学习“标准”插入语法(
INSERT INTO tablename(col1,col2…)值(val1,val2…
)。您的插入查询应该类似于:
$sql = "INSERT INTO track VALUES('','$tracktitle','$duration','$etc')";
自动递增id的第一个值留空
“另外……我是否正确地使用每一位的表(bpm表、持续时间表、类型表)?”
你能不能不让一个表包含多个字段(bbm、持续时间等)
希望这有帮助。谢谢你们,非常有帮助。是的,我可以把它作为一个表来做,但当我在阅读一些教程时,他们似乎更喜欢查找表。但是,只有当每个表都有相当多的条目链接在一起时,这些才有用吗?我想做的事不需要它吗?谢谢你。我试试看