如果重复,则更改插入时的主键

时间:2017-01-25 20:21:41

标签: mysql mysql-error-1064

我从我的经纪公司进口我的交易。我的交易有一个名为transactionid的标识符。我在我的本地数据库中将transactionid作为主键。 ACH存款的交易代码为“0”。我想导入交易,并使存款的主键成为帐号,日期和时间的串联。我开始做一个似乎不起作用的触发器。我一直收到“未知列' transactionid'在'字段列表'“当我将数据导入表格时。

当我放下触发器时,只要我在导入中没有存款,我就可以导入。我还将我的串联更改为静态数字以帮助测试,但我的触发器仍会导致上述错误被抛出。

这是我建立的触发器:

CREATE DEFINER=`root`@`localhost` TRIGGER `investments`.`concatPrimaryKeyIf0` BEFORE INSERT ON investments.transactions FOR EACH ROW
BEGIN
   IF (transactionid = 0) THEN
        INSERT INTO transactions
   #SET transactionid = concat(account_number,"_",`date`,"_",`time`);
   SET transactions.transactionid = 5;
   END IF;
END;

如何在导入时更新主键?

0 个答案:

没有答案