我试图看看是否有办法让我只使用mysql查询迁移一个大数据库,没有php。
INSERT INTO company (name) VALUES ('name') ON DUPLICATE KEY UPDATE name=name;
SET @companyID = LAST_INSERT_ID();
INSERT INTO phone2company (companyID,phoneID) VALUES (@companyID,'3');
INSERT INTO address2company (companyID,address) VALUES (@companyID,'address');
name是一个唯一的列,所以如果我得到一个重复的,它会返回错误的LAST_INSERT_ID();其余的查询执行错误。
有没有办法在mysql中放一个if语句?像是:
IF (@companyID <> @last_companyID) {
insert 1....
insert 2....
}
答案 0 :(得分:0)
您可以创建一个函数或存储过程来执行此操作。另一种选择是使用案例陈述。