gpt4 book ai didi

java - MySQL。当尝试删除一些重复行时,它会删除最后一行并且不会再删除任何行

转载 作者:行者123 更新时间:2023-11-29 21:46:00 25 4
gpt4 key购买 nike

我有表 ArtistConcertArtist_Concert,其中包含 Artist 之间的多对多连接code> 和 音乐会

问题是:添加了一场只有少数艺术家Concert后,当尝试从Artist_Concert中删除行时,它只删除了一行当尝试删除任何其他内容时,没有任何反应。

这就是我尝试在 Java 中删除行的方法:

stat = connect.createStatement();
res = stat.executeQuery ("SELECT idConcert FROM concerthall.concert where ConcertName = '"+conc+"';");
res.first();
int idconc = res.getInt(1);
stat.execute ("DELETE FROM concerthall.artist_concert WHERE idConc="+idconc+"");

艺术家

CREATE TABLE IF NOT EXISTS `concerthall`.`Artist` (
`idArtist` INT NOT NULL AUTO_INCREMENT,
`ArtName` VARCHAR(45) NOT NULL,
`ArtFee` INT NULL,
PRIMARY KEY (`idArtist`))
ENGINE = InnoDB

艺术家音乐会

CREATE TABLE IF NOT EXISTS `concerthall`.`Artist_Concert` (
`idCA` INT NOT NULL AUTO_INCREMENT,
`idArt` INT NOT NULL,
`IdConc` INT NOT NULL,
INDEX `idart_idx` (`idArt` ASC),
INDEX `idconc_idx` (`IdConc` ASC),
PRIMARY KEY (`idCA`),
CONSTRAINT `idart2`
FOREIGN KEY (`idArt`)
REFERENCES `concerthall`.`Artist` (`idArtist`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `idconct4`
FOREIGN KEY (`IdConc`)
REFERENCES `concerthall`.`Concert` (`idConcert`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB

演唱会

CREATE TABLE IF NOT EXISTS `concerthall`.`Concert` (
`idConcert` INT NOT NULL AUTO_INCREMENT,
`ConcertName` VARCHAR(45) NOT NULL,
`ConcertDateTime` DATETIME NOT NULL,
`Organizator` INT NOT NULL,
PRIMARY KEY (`idConcert`),
INDEX `concertorg_idx` (`Organizator` ASC),
CONSTRAINT `concertorg`
FOREIGN KEY (`Organizator`)
REFERENCES `concerthall`.`Organizator` (`idOrganizator`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB

最佳答案

删除重复项的最简单方法是:

ALTER IGNORE TABLE table ADD UNIQUE INDEX( a, b );

在 INDEX() 部分中,输入您只需要唯一条目的列的名称。我想你想要:

ALTER IGNORE TABLE concerthall.artist_concert ADD UNIQUE INDEX( idConc );

然后删除索引。

关于java - MySQL。当尝试删除一些重复行时,它会删除最后一行并且不会再删除任何行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34112523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com