Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL和PHP将数据分离到两个不同的数据库表中_Mysql_Database - Fatal编程技术网

使用MySQL和PHP将数据分离到两个不同的数据库表中

使用MySQL和PHP将数据分离到两个不同的数据库表中,mysql,database,Mysql,Database,我有一个产品提要,它多次列出服装项目,每种颜色和尺寸都列出一次 ProductID Product Name Colour Size Price 1 Men's Board Shorts Blue S 4.99 1 Men's Board Shorts Blue M 4.99 1

我有一个产品提要,它多次列出服装项目,每种颜色和尺寸都列出一次

ProductID      Product Name               Colour      Size      Price

1              Men's Board Shorts         Blue        S         4.99
1              Men's Board Shorts         Blue        M         4.99
1              Men's Board Shorts         Blue        L         5.99
1              Men's Board Shorts         Red         S         4.99
1              Men's Board Shorts         Red         M         4.99
1              Men's Board Shorts         Red         L         5.99
我有两张表:一张是名称和ID,另一张是每个产品的ID、颜色、尺寸和价格

在第一个表中,我只希望每个产品的名称出现一次,而不考虑不同尺寸和颜色的数量。在第二个表中,我希望产品的ID代码、尺寸和价格显示为每种不同的颜色

因此,我将得出以下数据:

Product Table
1     Men's Board Shorts

Options Table
1     Blue     S         4.99
1     Blue     M         4.99
1     Blue     L         5.99
1     Red      S         4.99
1     Red      M         4.99
1     Red      M         5.99
将大小分隔为单个记录而不是在一个字段中包含大小S、M、L的原因是,有时大型项目的价格与中小型项目的价格不同

有什么办法让我开始/指出正确的方向吗


谢谢…

创建了两个表:

 CREATE TABLE product (
  id INT NOT NULL PRIMARY KEY,
  name VARCHAR() NOT NULL
  );
 CREATE TABLE options (
  product_id INT NOT NULL PRIMARY KEY,
  color VARCHAR(30),
  size VARCHAR(10),
  price DECIMAL(10,2)  
 );
获取和插入表中的记录:

 $result1 = mysql_fetch_assoc(mysql_query('SELECT * from ProductTemp GROUP BY ProductID', $conn));

 $result2 = mysql_fetch_assoc(mysql_query('SELECT * from ProductTemp', $conn));

 foreach( $result1 as $v ) {
  $retval1 = mysql_query("INSERT INTO product VALUES('$v['ProductID']','$v['Product Name']')", $conn);
  if(!$retval1) {
  echo 'Could not enter data into table product: ' . mysql_error(); 
  exit;
 }
 }

  foreach( $result2 as $v ) { 
 $retval2 = mysql_query("INSERT INTO options VALUES('$v['ProductID']','$v['Color']','$v['Size']' , $v['Price'])", $conn); 

if(!$retval2 ) {
  echo 'Could not enter data into table options: ' . mysql_error(); 
  exit;
 }
 } 
第一张表:

CREATE TABLE IF NOT EXISTS `products` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `name` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
) AUTO_INCREMENT=1 ;

INSERT INTO `products` (`name`) SELECT `p_name` FROM `source_table`;
第二张表:

CREATE TABLE IF NOT EXISTS `options` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `colour` varchar(12) NOT NULL,
    `size` char(1) NOT NULL,
    `price` float unsigned NOT NULL,
    PRIMARY KEY (`id`)
)  AUTO_INCREMENT=1 ;

INSERT INTO `options` (`colour`, `size`, `price`) SELECT `p_colour`, `p_size`, `p_price` FROM `source_table`;

我只希望我正确地理解了你的问题

不,我不想从这两个表中提取数据,我想将传入的数据分离并放入两个单独的表中。@PhilJames数据来自哪里?什么应用程序语言?是否从数据输入表单插入新产品?数据来自csv提要。我已经使用php将其输入mysql数据库。现在存储的传入数据是哪个表?当前存储在一个名为ProductTempYes的表中,我已经有了这些表,数据来自CSV提要。它当前使用PHP放入一个名为ProductTemp的表中。