gpt4 book ai didi

PHP Mysql 从多个表中选择查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:06:46 26 4
gpt4 key购买 nike

我有 2 个表。父表是 learn_more,子表是 reference_keys两个表都是innodb

reference_keys has two columns:
key_id [index]
key_href


learn_more table
id [primary]
keys_id [foreign key]
page_title
page_content

我想做的是从 reference_keys 表中获取 learn more 表中的多个链接。例如,learn_more table id:1, keys_id:1,3,4,8,13,25,..., page_title:Home Page: blah blah, page_content: blah blah ......

问题是 phpmyadmin 不允许我在 learn_more 的 keys_id 中放置超过 1 个 id。

//ERROR
//Warning: #1265 Data truncated for column 'keys_id' at row 1

我猜关系 View 设置不正确。 - 我该如何解决这个问题?

在我的页面上,它在回显中显示了 key_id 而不是 id 的值:即 key_href。所以我的页面显示“1”而不是 1 的值,这是一个链接..

也许我的sql查询不正确?

$SQL = "SELECT * FROM learn_more WHERE page_title = '$this_page'";

最佳答案

在这里构建多对多是你可以做的:

reference_keys has two columns:
key_id [index]
key_href

learn_more_to_reference_key
reference_key_id [FK to reference_keys]
learn_more_id [FK to learn_more]

learn_more table
id [primary]
page_title
page_content

那么您在关系的每一侧基本上都是 1:N。请注意,我也从 learn_more 表中删除了 FK。

因此,要获取您要查询的关系:

SELECT * FROM Learn_More lm 
INNER JOIN learn_more_to_reference_key lmtrk ON lm.id = lmtrk.learn_more_id
INNER JOIN reference_keys rk ON rk.id = lmtrk.reference_key_id

我相信内部联接是正确的,我正在仔细检查。

关于PHP Mysql 从多个表中选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11437817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com