我想创建包含主键的表,该主键包含两个不同表的字段。
URL_TABLE
---------
url varchar(255) No
desc varchar(2048) No
preview varchar(255) No
img_url varchar(128) No
title varchar(128) No
hash varchar(128) No // This is one
rate varchar(20) Yes NULL
用户
------
id varchar(40) No //This is 2nd
name varchar(50) Yes NULL
email varchar(50) Yes NULL
picture varchar(50) No
查询:
create table post_table as
select id
from USER
UNION
select url, desc, preview, img_url, title, hash, rate
from URL_TABLE
primary key (id,hash);
这是正确的查询吗?
答案 0 :(得分:3)
从这个评论中,“我的目的是在我的页面上,我有用户的运行会话(这将给我他的ID),我想在他处理的每个URL上绑定他的动作。所以post_table将包含来自用户表和休息的id来自网址表“
的字段您正在描述用户和网址之间的多对多关系。用户可以处理多个网址,并且网址可以由多个用户处理。
存储此数据的更好方法是使用user_id,url和datetime_processed作为主键的表。您可以通过简单的连接从网址表中获取有关网址的其他信息。