MySQL:根据条件

时间:2015-08-21 15:55:56

标签: mysql auto-increment compound-key

我正在使用InnoDB。我的表结构如下:

CREATE TABLE `generic_part_name` (
 `ID` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
 `ID_Lang` tinyint(3) unsigned NOT NULL,
 `Name` varchar(250) NOT NULL,
 PRIMARY KEY (`ID`,`ID_Lang`),
 UNIQUE KEY `Name_Lang_UNIQUE` (`Name`,`ID_Lang`),
) ENGINE=InnoDB AUTO_INCREMENT=4600 DEFAULT CHARSET=utf8;

正如您所看到的,我使用复合主键,键的一部分是自动增量列。现在,如果另一个表中存在条件,我想阻止自动增量并使用现有ID作为密钥对ID-ID_Lang。 例如,如果我有记录 ID:1 ID_Lang:1名称:Cat ID:2 ID_Lang:1姓名:狗 我希望为法语中的Cat添加一个新的记录 ID:1 ID_Lang:2名称:聊天
现在我需要插入多个记录,有些将获得自动ID,其他将使用现有ID,具体取决于另一个表中是否存在值。 是否可以在单个INSERT ... SELECT语句中执行此操作,还是必须使用游标?

0 个答案:

没有答案