php SQL DATABASE - PullRequest
       3

php SQL DATABASE

0 голосов
/ 28 августа 2011

У меня есть база данных для создания и около 8 таблиц в базе данных, также созданы первичные ключи и внешние ключи в соответствующих таблицах. Но когда я вставляю данные в первичную таблицу, моя другая таблица не показывает обновленные данные.

Я имею в виду, скажем, у меня есть таблица, в которой есть данные для таких имен, как; N (имя) N1 = Джордж, N2 = Росс, N3 = Обод ... и т. Д. Теперь это означает, что у меня есть Первичный ключ N1, N2, N3 и т. Д.

Теперь, когда я вставляю эти первичные ключи в таблицу других пользователей, вместо имени первичного ключа, который он сам (N1, N2, N3) должен указывать имя, например, George, ross и rim.

Как я могу получить имена вместо самого PK?

Ответы [ 2 ]

4 голосов
/ 28 августа 2011

Вы неправильно понимаете концепцию ключей в реляционных базах данных.Имеются ключи не для копирования данных из одинаковых таблиц, а для отображения взаимосвязей между данными в разных таблицах.Они помогают понять, как связаны данные между различными таблицами - отсюда и название «реляционная база данных».Они также ускоряют запросы этих данных, если они проиндексированы.

Подробнее об использовании ключей можно прочитать здесь: Ключи и нормализация

0 голосов
/ 28 августа 2011

Мне все еще неясно, что именно вы хотите сделать с базой данных. но позвольте мне продемонстрировать вам основы базы данных и то, как вы должны ее использовать. Рассмотрим таблицу users, в которой вы будете хранить данные, относящиеся к пользователю.

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `email` varchar(50) DEFAULT NULL,
  `phone` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`),
);

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

INSERT INTO users(name,email,phone) VALUES('First Name', 'first@domain.com', '9999999999');
INSERT INTO users(name,email,phone) VALUES('Second Name', 'second@domain.com', '8888888888');
INSERT INTO users(name,email,phone) VALUES('Third Name', 'third@domain.com', '2222222222');
INSERT INTO users(name,email,phone) VALUES('Fourth Name', 'fourth@domain.com', '3333333333');

Вы видели, что не вставили сюда id. это потому, что это база данных, которая будет обрабатывать логику. теперь первая запись будет содержать значение 1, вторая будет иметь 2, третья 3 и четвертая 4 и так далее.

надеюсь, это поможет вам.

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