php SQL DATABASE


php SQL DATABASE

我有一个创建数据库,在数据库中有大约8个表,还在适当的表中创建了主键和外键。但是当我在primary-table中插入数据时,我的其他表没有显示更新的数据。

我的意思是,假设我有一个表,它的数据名称是;N是(名字)N1 =乔治,N2 =罗斯,N3 = Rim……等等,这意味着我有主键N1,N2,N3等。

现在,当我在others表中插入这些主键时它应该显示George, ross和rim这样的名字而不是主键编号self(N1,N2,N3)

我如何获得名称而不是PK本身?

您误解了关系数据库中键的概念。键的作用不是从相似的表中复制数据,而是显示不同表中数据之间的关系。它们有助于理解不同表之间的数据是如何关联的——这就是"关系数据库"名称的来源。如果建立了索引,它们还可以加快对数据的查询。

你可以在这里阅读更多关于键的用法:键和规范化

我仍然不清楚您究竟想对数据库做什么。但是让我来演示一下数据库的基础知识以及应该如何使用它。考虑一个表users,您将在其中存储与user相关的数据。

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,以此类推。

希望这对你有帮助。