Php 使用MySQL插入数据
我不是在寻找任何特定问题的解决方案,而是在理论上需要关于如何处理以前未知的数据计数(行)的建议。 假设我有一个分为3类的表单(材料、蒙太奇、小预算成本)。 每个类别可以有任意数量的项目,每个项目都有一个id、一个名称和一个价格。 我应该如何在MySQL数据库中存储这些数据?是否可以只存储在一张桌子上? 谢谢你的建议和指导 带有某些ID的报价Php 使用MySQL插入数据,php,mysql,Php,Mysql,我不是在寻找任何特定问题的解决方案,而是在理论上需要关于如何处理以前未知的数据计数(行)的建议。 假设我有一个分为3类的表单(材料、蒙太奇、小预算成本)。 每个类别可以有任意数量的项目,每个项目都有一个id、一个名称和一个价格。 我应该如何在MySQL数据库中存储这些数据?是否可以只存储在一张桌子上? 谢谢你的建议和指导 带有某些ID的报价 *categ Material* ------------------------------ title ID Price
*categ Material*
------------------------------
title ID Price
------------------------------
first item | 123 | 1 195.00
second item | 845 | 469.00
...
*categ Montage*
item | 461 | 146.00
item number 2 | 821 | 654.00
third item | 012 | 931.00
...
*categ MBC*
item | 642 | 2 135.00
...
你需要了解它是如何工作的。尝试规范化您的数据,从中您可能知道需要多少表。有一个名为材料的表是有意义的,但是对于其他形式,它们的用法是不可理解的。一个规范化的解决方案,使用问题陈述中的类别和项目:
CREATE TABLE `category` (
`id` INT NOT NULL AUTO_INCREMENT,
`category` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
CREATE TABLE `item` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) DEFAULT NULL,
`price` double DEFAULT NULL,
`category_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`));
每个类别可以有许多项。item表中的每个item行都通过category_id“连接”到category。MySQL提供了创建语句的功能。您可以将这些语句存储在一个包含四个数据列的表中。你称之为不同的“表”的东西可能被称为“类别”之类的东西。示例表结构如下所示:
create table items (
ItemId int not null auto_increment,
CategoryName varchar(255) not null,
Title varchar(255),
Id int,
Price decimal(10, 2)
);
这是一个例子。根据您的需要,您可能希望强制执行
CategoryName
只接受您想要的值。最好的方法是使用适当的外键引用创建一个单独的Categories
表。您还可以使用枚举类型来实现这一点,枚举类型是一个实现检查约束的触发器,或者干脆不进行检查。类似地,数据类型只是猜测,您可能需要其他字段。您可以始终将所有内容存储在单个表中。你是否想要一个有效的解决方案是另一回事,不过我想把它存储在一个表中,以后我也需要编辑数据。当然我需要最有效的解决方案,但我不知道怎么做。。。在我的情况下,您会怎么做?非常感谢您提供的一些知识。我希望避免创建大量的表。我该怎么办?我有一个想法,创建3个表命名为材料,蒙太奇。。。。然后为任何报价单ID本身插入项目。这是正确的方法吗?避免大量的表绝对是正确的做法。考虑每个表所代表的实体之间的关系。例如,类别表与项目表具有一对多关系。该关系由项目中的类别id
字段建立。把这个概念应用到你的桌子上。谢谢你,geoB,我想试试,但这需要很长时间。