Вопрос по обновлению таблицы через PhpMyAdmin - PullRequest
2 голосов
/ 28 июня 2011

Я новичок в базе данных, у меня возникла проблема во время учебы.

Сейчас я собираюсь обновить одну таблицу в моей базе данных, импортировав текстовый файл через phpMyAdmin.Все работало отлично, за исключением обработки со строками с одинаковым customer_ID.

В строке есть поле с именем customer_ID, и я не могу сделать это первичным ключом, поскольку исходный текстовый файл, используемый для заполнения базы данных, содержит несколькострок для одного customer_ID, поэтому в базе данных должно быть несколько строк для одного идентификатора пользователя.

Я заполнил базу данных текстовым файлом импорта, без ошибок.Однако теперь мне нужно обновить базу данных с помощью текстового файла обновления, идентификатор customer_id в текстовом файле обновления уже существует (заполнен) в базе данных, поэтому, если я обновлю базу данных с помощью этого обновленного текстового файла (через «импорт»)функция в PhpMyAdmin), существующие строки с тем же customer_ID не будут обновлены, но будет создана другая строка с тем же customer_ID, что не совсем то, что я хочу.

Я думаю, что это дилемма, еслиЯ мог бы сделать customer_id первичным ключом, процесс обновления будет работать отлично, но, поскольку мне нужно, чтобы customer_id появлялся в нескольких строках в процессе заполнения базы данных, я не мог сделать customer_id первичным ключом.

Прошу прощения за банальный вопрос. Интересно, могли бы эксперты дать мне какое-нибудь предложение или некоторые связанные чтения?Заранее спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Вам нужно, чтобы ваш файл обновления соответствовал следующему формату:

UPDATE table SET field1 = value, field2 = value WHERE customer_ID = existing value

Однако если у вас есть несколько строк с одним и тем же идентификатором клиента, который обновит все строки, что, вероятно, не то, что вам нужно. Поэтому вам нужно другое поле идентификатора (как говорит Рэй), которое является уникальным, и обновите его, используя этот идентификатор

...WHERE id = existing value
1 голос
/ 28 июня 2011

Я думаю, что самый простой способ сделать это - добавить дополнительное поле идентификатора. Добавьте поле с именем «id» рядом с «customer_id» и сделайте «id» первичным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...