将不同树中的两个表加入 phpmyadmin
Posted
技术标签:
【中文标题】将不同树中的两个表加入 phpmyadmin【英文标题】:Join two tables in different tree into phpmyadmin 【发布时间】:2021-03-07 11:09:15 【问题描述】:我需要在两个表之间进行连接,其中一个表在一个分组内。但是查询给了我一个错误,我不知道该怎么做。enter image description here
我必须加入 users_field_data.uid 和 user__field_apellidos.entity_id,但它给了我错误。
我该怎么做?
enter image description here
enter image description here
谢谢!
编辑: 表 users_field_data:
如果不存在 `user__field_apellidos` 则创建表( `bundle` varchar(128) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT '本行所属的字段实例bundle,删除字段实例时使用', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '表示该数据项是否已被删除的布尔值', `entity_id` int(10) unsigned NOT NULL COMMENT '此数据附加到的实体 id', `revision_id` int(10) unsigned NOT NULL COMMENT '此数据附加到的实体修订 id,对于未版本化的实体类型,它与实体 id 相同', `langcode` varchar(32) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT '该数据项的语言代码。', `delta` int(10) unsigned NOT NULL COMMENT '此数据项的序列号,用于多值字段', `field_apellidos_value` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户字段field_apellidos的数据存储。'; ALTER TABLE `user__field_apellidos` 添加主键(`entity_id`,`deleted`,`delta`,`langcode`), ADD KEY `bundle` (`bundle`), 添加键`revision_id`(`revision_id`); 如果不存在“users_field_data”,则创建表( `uid` int(10) 无符号非空, `langcode` varchar(12) CHARACTER SET ascii NOT NULL, `preferred_langcode` varchar(12) CHARACTER SET ascii DEFAULT NULL, `preferred_admin_langcode` varchar(12) CHARACTER SET ascii DEFAULT NULL, `name` varchar(60) NOT NULL, `pass` varchar(255) 默认为空, `mail` varchar(254) 默认为空, `timezone` varchar(32) 默认为空, `status` tinyint(4) 默认为空, `created` int(11) NOT NULL, `改变` int(11) 默认为空, `access` int(11) NOT NULL, `login` int(11) 默认为空, `init` varchar(254) 默认为空, `default_langcode` tinyint(4) NOT NULL, `content_translation_source` varchar(12) 字符集 ascii 默认为 NULL, `content_translation_outdated` tinyint(4) 默认为 NULL, `content_translation_uid` int(10) unsigned DEFAULT NULL COMMENT '目标实体的 ID。', `content_translation_status` tinyint(4) 默认为 NULL, `content_translation_created` int(11) 默认 NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户实体的数据表。'; 更改表`users_field_data` 添加主键(`uid`,`langcode`), 添加唯一键`user__name`(`name`,`langcode`), ADD KEY `user__id__default_langcode__langcode` (`uid`,`default_langcode`,`langcode`), 添加 KEY `user_field__mail` (`mail`(191)), ADD KEY `user_field__created` (`created`), 添加 KEY `user_field__access` (`access`), 添加键`user_field__content_translation_uid__target_id`(`content_translation_uid`); 表 user__field_apellidos: 如果不存在 `user__field_apellidos` 则创建表( `bundle` varchar(128) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT '本行所属的字段实例bundle,删除字段实例时使用', `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '表示该数据项是否已被删除的布尔值', `entity_id` int(10) unsigned NOT NULL COMMENT '此数据附加到的实体 id', `revision_id` int(10) unsigned NOT NULL COMMENT '此数据附加到的实体修订 id,对于未版本化的实体类型,它与实体 id 相同', `langcode` varchar(32) CHARACTER SET ascii NOT NULL DEFAULT '' COMMENT '该数据项的语言代码。', `delta` int(10) unsigned NOT NULL COMMENT '此数据项的序列号,用于多值字段', `field_apellidos_value` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户字段field_apellidos的数据存储。'; ALTER TABLE `user__field_apellidos` 添加主键(`entity_id`,`deleted`,`delta`,`langcode`), ADD KEY `bundle` (`bundle`), 添加键`revision_id`(`revision_id`);【问题讨论】:
【参考方案1】:你错过了加入部分。试试下面的查询:
s`elect * from user__field_apellidos inner join users_field_data on entity_id = users_field_data.uid`
【讨论】:
它不起作用,我不明白为什么?它与层次结构中的表有关吗?什么是 user_field_afos? 错误查询 SQL: Documentación select * from user_field_apellidos inner join users_field_data on entity_id = users_field_data.uid LIMIT 0, 25 mysql ha dicho: Documentación #1146 - 表 'escofet2020.user_field_apellidos' 不存在跨度> 你的表叫什么名字? users_field_data 和 user__field_apellidos 进入层次结构 您使用的是哪个数据库和版本?以上是关于将不同树中的两个表加入 phpmyadmin的主要内容,如果未能解决你的问题,请参考以下文章