0

下面显示的表格通过xxx字段连接。如何在yyy不重新创建表的情况下删除此关系并将其更新为(可能使用ALTER)?所以,我希望它yyy成为table1关键,而xxx成为一个常规字段。在table2我可能应该更新yyyPrimary Key.

CREATE TABLE IF NOT EXISTS `table1` (
  `id1` smallint(6) NOT NULL AUTO_INCREMENT,
  `xxx` smallint(6) DEFAULT NULL,
  `yyy` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id1`),
  KEY `xxx` (`xxx`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=15;


CREATE TABLE IF NOT EXISTS `table2` (
  `xxx` smallint(6) NOT NULL,
  `yyy` varchar(50) NOT NULL,
  `zzz` varchar(30) NOT NULL,
  PRIMARY KEY (`xxx`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
4

1 回答 1

1
ALTER TABLE `table1` DROP KEY `xxx`;
ALTER TABLE `table1` ADD KEY `yyy`(`yyy`);
ALTER TABLE `table2` DROP PRIMARY KEY;
ALTER TABLE `table2` ADD PRIMARY KEY (`yyy`);

http://sqlfiddle.com/#!2/87f92/1

于 2012-05-22T20:21:39.247 回答