小编Rid*_*ous的帖子

避免"#1060 - 重复列名"错误,但仍使用SELECT*

我有2个表格,广告客户和广告系列.两者都有我需要列出的更多字段,并且都有一个主键"id".我想创建一个视图,而不必使用*手动输入所有字段.我一直收到"重复列"错误.是否可以通过*完成此操作或是我唯一的选择输入所有列名称和设置ID的别名?

  CREATE VIEW VIEW_CAMPAIGNS AS 

  SELECT *, 
      advertisers.id as adv_id,
      campaigns.id as camp_id

  FROM  campaigns, advertisers
  WHERE advertisers.id = advertiser_id
Run Code Online (Sandbox Code Playgroud)

仍然返回#1060 - 重复列名'id'

mysql sql key view

5
推荐指数
1
解决办法
2万
查看次数

如果基本对象是一个人,那么表示家庭内关系的最佳数据库结构是什么

我有一个完整的大型数据库或称为 PERSONS 的人。

我想将它们彼此的关系存储在单独的表中。

我在想这样的事情:

FAMILY
PERSON_IDS: 123, 345, 678
RELATIONS:  self, brother, daughter
Run Code Online (Sandbox Code Playgroud)

使用“自我”标志来指示引用关系的人。所以,在这个例子中,123 是一个男人,345 是他的兄弟,678 是一个女人,他的女儿。即,可以从关系中导出性别信息。

这是正确的方法吗?

或者每行只有 2 个人和一种关系类型会更有效吗

PERSON_IDS: 123, 456
RELATION: brother
Run Code Online (Sandbox Code Playgroud)

——

PERSON_IDS: 123, 678
RELATION: daughter
Run Code Online (Sandbox Code Playgroud)

或者每个人都有一个男性/女性字段并且关系表只指定例如“兄弟姐妹”更好。

或者我应该有一张只有 PARENTS 的表并存储 PERSON 的性别?

TABLE PARENTS:
PARENT_ID: 123
CHILD_ID: 678
Run Code Online (Sandbox Code Playgroud)

目的是在显示Person 时显示相关人员。设计应该针对性能和速度进行优化,而不是为了便于管理。

谢谢你的帮助。

mysql sql relationship

1
推荐指数
1
解决办法
3778
查看次数

标签 统计

mysql ×2

sql ×2

key ×1

relationship ×1

view ×1