-1

我有一个数据库名称q8marketz,里面有一个表product。该表有许多字段,例如:- 产品 ID、型号、数量、运输等...

我已经将许多产品上传到我的表...有一个字段shipping,所有产品的shipping值都已设置1为,所以现在我想将所有产品的运费值设置为0

有人可以帮助我吗?对不起,我的英语不是很完美...

下面给出了两个产品详细信息...

===数据库 q8marketz

== 表产品的表结构

|------
|字段|类型|空|默认
|------
|//**product_id**//|int(11)|否|
|型号|varchar(64)|否|
|首付|varchar(32)|否|
|sku|varchar(64)|否|
|upc|varchar(12)|否|
|ean|varchar(14)|否|
|jan|varchar(13)|否|
|isbn|varchar(13)|否|
|mpn|varchar(64)|否|
|位置|varchar(128)|否|
|数量|int(4)|否|0
|stock_status_id|int(11)|否|
|图像|varchar(255)|是|NULL
|manufacturer_id|int(11)|否|
|运费|tinyint(1)|否|1
|价格|十进制(15,4)|否|0.0000
|点|int(8)|否|0
|tax_class_id|int(11)|否|
|date_available|日期|否|
|权重|小数(15,8)|否|0.00000000
|weight_class_id|int(11)|否|0
|长度|十进制(15,8)|否|0.00000000
|宽度|十进制(15,8)|否|0.00000000
|高度|十进制(15,8)|否|0.00000000
|length_class_id|int(11)|否|0
|减|tinyint(1)|否|1
|最小|int(11)|否|1
|排序顺序|int(11)|否|0
|状态|tinyint(1)|否|0
|添加日期|日期时间|否|0000-00-00 00:00:00
|date_modified|日期时间|否|0000-00-00 00:00:00
|已查看|int(5)|否|0
== 转储表产品的数据

|886|BA-手提包-001ss| | | | | | | |aaaa|95|7|data/hand-bags.jpg|7|1|32.5000|25|0|2012-09-03|0.00000000|1|0.00000000|0.00000000|0.00000000|1|1|1|1|1 |2012-09-25 13:00:18|0000-00-00 00:00:00|0
|883|BA-手提包-001ss| | | | | | | |aaaa|95|7|data/hand-bags.jpg|7|1|32.5000|25|0|2012-09-03|0.00000000|1|0.00000000|0.00000000|0.00000000|1|1|1|1|1 |2012-09-17 14:08:08|2012-09-25 13:00:06|9
== 表产品的表结构

|------
|字段|类型|空|默认
|------
|//**product_id**//|int(11)|否|
|型号|varchar(64)|否|
|首付|varchar(32)|否|
|sku|varchar(64)|否|
|upc|varchar(12)|否|
|ean|varchar(14)|否|
|jan|varchar(13)|否|
|isbn|varchar(13)|否|
|mpn|varchar(64)|否|
|位置|varchar(128)|否|
|数量|int(4)|否|0
|stock_status_id|int(11)|否|
|图像|varchar(255)|是|NULL
|manufacturer_id|int(11)|否|
|运费|tinyint(1)|否|1
|价格|十进制(15,4)|否|0.0000
|点|int(8)|否|0
|tax_class_id|int(11)|否|
|date_available|日期|否|
|权重|小数(15,8)|否|0.00000000
|weight_class_id|int(11)|否|0
|长度|十进制(15,8)|否|0.00000000
|宽度|十进制(15,8)|否|0.00000000
|高度|十进制(15,8)|否|0.00000000
|length_class_id|int(11)|否|0
|减|tinyint(1)|否|1
|最小|int(11)|否|1
|排序顺序|int(11)|否|0
|状态|tinyint(1)|否|0
|添加日期|日期时间|否|0000-00-00 00:00:00
|date_modified|日期时间|否|0000-00-00 00:00:00
|已查看|int(5)|否|0
4

2 回答 2

1

您可以轻松地使用如下更新查询:

update product set shipping=0;

这会将所有行更新为 0。

如果您只想指定某些选定的行,您可以添加一个where子句来限制您更新的行数,如下所示:

update product set shipping=0 where points>2;

这将更新所有points值大于 2 的行。

编辑:代码可以直接从 mysql 控制台运行,或者通过 PHP 中的数据库调用,如下所示:

$dbh = new PDO($hostname, $username, $password);
$sql='update product set shipping=0 where points>2';
$stmt = $dbh->query($sql);
于 2012-09-25T09:46:06.470 回答
0

您可以使用 SQL UPDATE 语句更新表中的现有记录。

SQL 更新语法:

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

对于您的示例,请使用:

UPDATE product
SET shipping=0;

==>代码可以直接从mysql控制台运行。

要使用 PHP 调用,请尝试以下代码:

<?php
 $dataBase = new PDO($hostname, $username, $password);
 $sqlQuery ='update product set shipping=0';
 $stmt = $dataBase->query($sqlQuery );
?>
于 2012-09-25T09:54:52.430 回答