我是数据库初学者,我在学习期间遇到了一个问题。
我现在要通过phpMyAdmin导入文本文件来更新我的数据库的一个表。 除了处理具有相同customer_ID的行外,一切都很好。
该行有一个名为“customer_ID”的字段,我无法将其作为主键,因为用于填充数据库的初始文本文件包含单个customer_ID的多行,因此数据库必须允许多个行用于一个用户ID
我使用导入文本文件填充数据库,没有错误。但是,现在我需要使用更新文本文件更新数据库,更新文本文件中的customer_id已经存在(已填充)在数据库中,因此如果我使用此更新的文本文件更新数据库(通过“导入”)在PhpMyAdmin中的功能,不会更新具有相同customer_ID的现有行,但会创建具有相同customer_ID的另一行,这不是我想要的。
我认为这是一个两难选择,如果我可以将customer_id作为主键,更新过程将完美运行,但由于我需要允许customer_id出现在数据库填充过程中的多行中,所以我无法制作customer_id是主键。
请原谅这个微不足道的问题。我想知道专家是否可以给我一些建议或一些相关的读物?在此先感谢您的帮助。
答案 0 :(得分:1)
我认为最简单的方法是添加额外的标识符字段。 在'customer_id'旁边添加一个名为'id'的字段,并将'id'设为主要字段。
答案 1 :(得分:1)
您需要使更新文件遵循以下格式:
UPDATE table SET field1 = value, field2 = value WHERE customer_ID = existing value
但是,如果您有多个具有相同客户ID的行将更新所有行,这可能不是您想要的。所以你需要另一个id字段(如Ray所说),它是唯一的,并使用该id
进行更新...WHERE id = existing value