喜
我可以根据另一个列值在mysql数据库中重写列的值,但这次我需要做一个扭曲...
有两个表(一次是多个值):规范和产品。
产品有两列:specificationids
和specificationorderids
规范还有两列:id
和specificationorder
specificationids
有多个格式如下:31,29,27,18,
这些也是规范表中的id
。每个id
都有specificationorder
值(同一行,其他列)。现在我想要做的是,我想将id
的值与specificationorder
的值进行交换,并将这些值写入产品中的specificationorderids
表格格式相同。
当然,这个过程必须遍历产品表中的所有ID。
我希望我能让问题清晰明白
感谢您的帮助!
答案 0 :(得分:0)
交换 id 和规范订单,规范订单,用规范订单编写,如果我理解的话:
<?php
/* Swap id and specificationorder */
$sql = "SELECT id, specificationorder from specifications";
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
$id = $row[0];
$sporder = $row[1];
$sql = "UPDATE specifications SET id=$id, specificationorder=$sporder WHERE id=$id";
mysql_query($sql);
}
/* specificationorder writen in specificationorderids */
$sql = "SELECT specificationorder from specifications";
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
$sporder = $row[0];
$sql = "INSERT INTO products(specificationorderids) VALUES($sporder)";
mysql_query($sql);
}
?>
答案 1 :(得分:0)
过去几天我还没有能够提出正常的代码,所以到目前为止我已经得到了什么。香港专业教育学院添加了评论,所以你知道我在尝试代码时的想法......就像在我之前的评论中我包含了我想要的图像:img822.imageshack.us/i/specm.png
//get specificationids
$sql = "SELECT specificationids from products";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$spids = $row[0];
//get specifications
$sql2 = "SELECT id from specifications";
$result2 = mysql_query($sql2);
$row2 = mysql_fetch_row($result2);
$spid = $row2[0];
//get specificationorder
$sql3 = "SELECT specificationorder from specifications";
$result3 = mysql_query($sql3);
$row3 = mysql_fetch_row($result3);
$sporder = $row3[0];
//if the value of specificationids matches a specificationid, then....
while(VALUES($spids)==$spid)
{
$spids=$sporder; //...it should be replaced by the specificationorder
//and then update the specificationorderids column accordingly
$sql = "UPDATE products(specificationorderids) VALUES($spids)";
mysql_query($sql);
}