【问题标题】:How to set a column to PRIMARY KEY while merging two tables using inner join?(there is no primary key in the two joining tables)使用内连接合并两个表时如何将列设置为PRIMARY KEY?(两个连接表中没有主键)
【发布时间】:2016-10-18 05:08:21
【问题描述】:

如何在使用内连接合并两个表时将列设置为PRIMARY KEY?(两个连接表中没有主键)请帮忙。

create table merge_aws AS
select aws.id,aws.date,aws.time,aws.pmer,aws.dd,aws.ff,aws.t,masterfile.station,masterfile.latitude,masterfile.longitude
from aws
inner join masterfile
on aws.id=masterfile.call_sign;

【问题讨论】:

  • @Roey 那里的编辑真是太棒了:p
  • @Roey Golzarpoor 也欢迎回答这个问题! :)

标签: mysql


【解决方案1】:

创建后使用alter table,如下示例:

CREATE TABLE merge_aws AS select 
    aws.id,
    aws.date,
    aws.time,
    aws.pmer,
    aws.dd,
    aws.ff,
    aws.t,
    masterfile.station,
    masterfile.latitude,
    masterfile.longitude
from
    aws
        inner join
    masterfile ON aws.id = masterfile.call_sign;

ALTER TABLE merge_aws ADD COLUMN prim INT NOT NULL AUTO_INCREMENT , ADD PRIMARY KEY (prim) ;

谢谢

【讨论】:

  • 错误 1060 (42S21):重复的列名 'id'
  • ALTER TABLE merge_aws ADD COLUMN id INT NOT NULL AUTO_INCREMENT , ADD PRIMARY KEY (id) ;
  • 我想将“id”设置为PRIMARY KEY。
  • 我不想添加另一列,但是将现有的“id”设置为 PRIMARY KEY。
猜你喜欢
  • 1970-01-01
  • 2014-11-11
  • 2012-09-17
  • 2015-03-16
  • 2022-06-15
  • 1970-01-01
  • 2014-08-04
  • 1970-01-01
  • 2017-12-18
相关资源
最近更新 更多