向包含预定义主键的mysql表插入行
我一直在寻找这个问题的解决办法,但没有找到任何令人满意的办法。我知道类似的问题很多次都得到了解答,但通常都有解决办法,而不是标准的解决方案 在我的个案中,问题是: 我有一个包含预定义主键的表,不能用作自动增量。它是预定义的,并且还被其他几个表用作外键 NID-我的主键 PID-来自外部源的密钥 连载 布拉1 废话 NID已经在表ID(目标表)中,而不是在源表中 PID已在源文件/表中,而不是在目标表中 两个表中都有其他列 NID-PID对将是唯一的匹配,因为匹配后将进一步使用这些匹配 现在,我需要能够每周在此表中插入值,因为这些值将以csv/excel文件和数百条记录的形式发送给我,所以最好采用一些简单的方法,特别是因为简单的方法很容易验证导入过程 由于没有自动递增PK,我得到一个错误: 1062-密钥“NID”的重复条目“” 我正在考虑在多个字段上创建唯一索引,如:向包含预定义主键的mysql表插入行,mysql,sql,database,Mysql,Sql,Database,我一直在寻找这个问题的解决办法,但没有找到任何令人满意的办法。我知道类似的问题很多次都得到了解答,但通常都有解决办法,而不是标准的解决方案 在我的个案中,问题是: 我有一个包含预定义主键的表,不能用作自动增量。它是预定义的,并且还被其他几个表用作外键 NID-我的主键 PID-来自外部源的密钥 连载 布拉1 废话 NID已经在表ID(目标表)中,而不是在源表中 PID已在源文件/表中,而不是在目标表中 两个表中都有其他列 NID-PID对将是唯一的匹配,因为匹配后将进一步使用这些匹配 现在,我需
CREATE UNIQUE INDEX unique_index ON ids (NID,PID);
但它也没有很好地发挥作用:
1062-键“唯一索引”的重复条目“107521”
我还尝试创建单独的表,其中包含要导入的数据,但得到了相同的错误
问题是:在不改变现有数据的情况下,向包含PK的表中插入记录并继续定期这样做的最佳方法是什么?我应该怎么做才能做到这一点
我非常感谢您的帮助,因为我被卡住了。主键在定义上是唯一的。多行不能具有相同的主键。删除主键或不要插入重复的行。@kordirko感谢您的评论。删除NID上的PK肯定会有帮助,因为NID在设计上是唯一的,因为此表中没有重复项(也不会重复)。我试图从外部文件插入的每一行(至少在这个阶段)都是唯一的。