0

我想创建包含主键的表,该表具有两个不同表的字段。

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);

这是一个正确的查询吗?

4

1 回答 1

3

从此评论中,“我的目的是在我的页面上我有用户正在运行的会话(这会给我他的 ID),我想在他处理的每个 URL 上绑定他的操作。所以 post_table 将包含来自用户表的 id 和来自 url 的其余字段桌子”

您正在描述用户和网址之间的多对多关系。一个用户可以处理多个 url,一个 url 可以被多个用户处理。

存储此数据的更好方法是使用以 user_id、url 和 datetime_processed 作为主键的表。您可以通过简单的连接从 url 表中获取有关 url 的其他信息。

于 2013-11-05T17:31:05.520 回答