//完成你的問(wèn)題需要先假設(shè)幾個(gè)變量//傳值的id$aId = $_GET['id'] //要修改的新check內(nèi)容$newCheck = "aaa";//要在表B中加的數(shù)值$addContent = "20";//第一個(gè)SQL更新表A中的check內(nèi)容$sql1 = "UPDATE `A` SET `check`='".$check."' WHERE `aid`=".$_GET['id'];//第二個(gè)SQL獲取表B中的相關(guān)信息$sql2 = "SELECT `B`.`bid`,`b`.`score` FROM `A`,`B` WHERE `A`.`name`=`B`.`name` AND `A`.`aid`=".$_GET['id'];//通過(guò)sql2可以得到所要修改的B表中的bid=$bid 和B表中該條記錄的score內(nèi)容=$score。$newScore = $score.$addContent;//更新表B中數(shù)據(jù)$sql3 = "UPDATE `B` SET `score`='".$newScore."' WHERE `bid`=".$bid;
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出慶云免費(fèi)做網(wǎng)站回饋大家。
有啊,只要where后面的條件把握好就行了,把握不好,可能數(shù)據(jù)就苦逼了,
所有:update
table1
set
num=num+1
條件(num不等于0):update
table1
set
num=num+1
where
num0
MySQL
Update
Set
更新數(shù)據(jù)
UPDATE
更新
UPDATE
SET
語(yǔ)法用于修改更新數(shù)據(jù)表中的數(shù)據(jù)。
語(yǔ)法:
UPDATE
tb_name
SET
column1
=
new_value1,column2
=
new_value2,…
WHERE
definition
該語(yǔ)法將數(shù)據(jù)表中符合
WHERE
條件的記錄中的
column1
的值更新為
new_value1,column2
的值更新為
new_value2
,以此類(lèi)推。如果省略
WHERE
條件,則會(huì)將表中所有記錄的
column
值進(jìn)行更新。
例子:
?php
$conn
=
@mysql_connect("localhost","root","root123");
if
(!$conn){
die("連接數(shù)據(jù)庫(kù)失?。?
.
mysql_error());
}
mysql_select_db("test",
$conn);
mysql_query("set
names
'gbk'");
$sql
=
"UPDATE
user
SET
=
'xiaoming@163.com'
WHERE
username
=
'小明'";
if(mysql_query($sql,$conn)){
echo
"更新數(shù)據(jù)成功!";
}
else
{
echo
"更新數(shù)據(jù)失?。?.mysql_error();
}
?
更新前數(shù)據(jù):
uid
username
password
regdate
1
admin
b7e591c246d010bb2ccd77d52490c85e
admin@5idev.com
1277992339
2
小明
a193686a53e4de85ee3f2ff0576adf01
xiao@163.com
1278063917
3
Jack
0193686a35e4de85ee3f2ff0567adf49
jack@gmail.com
1278061380
4
小王
e10adc3949ba59abbe56e057f20f883e
12345@163.com
1289632955
例子將
user
表中
username
為
小明
的
修改為
xiaoming@163.com
。
更新后數(shù)據(jù):
uid
username
password
regdate
1
admin
b7e591c246d010bb2ccd77d52490c85e
admin@5idev.com
1277992339
2
小明
a193686a53e4de85ee3f2ff0576adf01
xiaoming@163.com
1278063917
3
Jack
0193686a35e4de85ee3f2ff0567adf49
jack@gmail.com
1278061380
4
小王
e10adc3949ba59abbe56e057f20f883e
12345@163.com
1289632955
UPDATE
表達(dá)式
UPDATE
語(yǔ)法允許
SET
后面跟表達(dá)式。
例子
1
:
UPDATE
article
SET
pv
=
pv+1
WHERE
id
=
123
該例子讓
id
為
123
的文章在被點(diǎn)擊閱讀的時(shí)候點(diǎn)擊量加
1
。
例子
2
:
UPDATE
persondata
SET
age
=
age*2,
age
=
age+1
該例子
SET
后面跟了兩個(gè)表達(dá)式:age
=
age*2(年齡加倍),age
=
age+1(再加
1
)。這種多個(gè)表達(dá)式的情況,是按照從左往右順序執(zhí)行的。
不需要,當(dāng)你insert之后,數(shù)據(jù)就會(huì)存在數(shù)據(jù)庫(kù)里面了。
第二次select時(shí)候,會(huì)讀到最新的數(shù)據(jù),包括剛剛insert的內(nèi)容。
ps. 如果你用到事務(wù)功能的話(huà),就要在insert后commit一下,保證數(shù)據(jù)寫(xiě)入。
分享一個(gè)我以前寫(xiě)過(guò)的例子,跟這個(gè)類(lèi)似的,希望對(duì)你有所啟發(fā)。把我的server.php換成你自己的進(jìn)行數(shù)據(jù)更新的php文件路徑就可以。如果需要傳遞參數(shù),在url后邊拼接就可以了。
!doctype html
html lang="en"
head
meta charset="UTF-8"
meta name="Generator" content="EditPlus?"
meta name="Author" content=""
meta name="Keywords" content=""
meta name="Description" content=""
titleDocument/title
/head
body
form
select name="number" id="number"
option value="2222222"
2222222
/option
option value="7777777" selected="selected"7777777/option
/select
a onclick="showRoles('test','number');"立即查詢(xún)/a
table
tr display="none"
td id="test" height="20" /td
/tr
/table
/form
script
var xmlHttp = null,currentPos = null;
function createXMLHttpRequest()
{
try
{
xmlHttp = new ActiveXObject("MSxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (ox)
{
xmlHttp = null;
}
}
if(!xmlHttp typeof XMLHttpRequest != "undefined")
{
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
function send_request(url)
{
createXMLHttpRequest();
xmlHttp.onreadystatechange = processRequest;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function processRequest()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
document.getElementById("test").innerHTML = xmlHttp.responseText;
}
else
{
alert("請(qǐng)求異常。");
}
}
}
function showRoles(obj1,obj2)
{
currentPos = obj1;
document.getElementById(obj1).parentNode.style.display = "";
document.getElementById(obj1).innerHTML = "正在讀取數(shù)據(jù)……";
send_request("server.php?phoneNum="+document.getElementById(obj2).value+"r="+Math.random());
}
/script
/body
/html
以前我用過(guò)querylist插件抓數(shù)據(jù),服務(wù)器寫(xiě)和定時(shí)器,每天固定時(shí)間去運(yùn)行腳本。朝這個(gè)方式試試
高并發(fā)下數(shù)據(jù)的更新,應(yīng)該 update table xxx set num = num - 1 的方式,這種方式可以保證數(shù)據(jù)的正確性。
但是會(huì)出現(xiàn) num 為負(fù)數(shù)的問(wèn)題,如果庫(kù)存為負(fù)數(shù),顯然是不合理的。
于是,需要將 num 字段設(shè)置為 無(wú)符號(hào)整型,這樣就不會(huì)出現(xiàn)負(fù)數(shù)了,因?yàn)?,如果減到負(fù)數(shù),就會(huì)更新失敗。
但是這種依然會(huì)造成很多無(wú)用的更新語(yǔ)句的執(zhí)行,是不合理的。
于是,update table xxx set num = num - 1 where num 0,
這樣當(dāng) num 等于0之后就不會(huì)去更新數(shù)據(jù)庫(kù)了,減少了很多無(wú)用的開(kāi)銷(xiāo)。
這種方式被稱(chēng)作“樂(lè)觀鎖”
此外,對(duì)于搶紅包這種非整數(shù)的操作,我們應(yīng)該轉(zhuǎn)換為整數(shù)的操作。
關(guān)于搶購(gòu)超賣(mài)的控制
一般搶購(gòu)功能是一個(gè)相對(duì)于正常售賣(mài)系統(tǒng)來(lái)說(shuō)獨(dú)立的子系統(tǒng),這樣既可以防止搶購(gòu)時(shí)的高并發(fā)影響到正常系統(tǒng),
也可以做到針對(duì)于搶購(gòu)業(yè)務(wù)的特殊處理。
在后臺(tái)設(shè)計(jì)一些功能,可以就昂正常的商品加入到搶購(gòu)活動(dòng)中并編輯成為搶購(gòu)商品,寫(xiě)入到搶購(gòu)商品表,當(dāng)然
也可以把搶購(gòu)商品表寫(xiě)入redis而不是數(shù)據(jù)表。并且在原商品表寫(xiě)入一個(gè)同樣的商品(id相同,用于訂單查看,
此商品不可購(gòu)買(mǎi))
如果是數(shù)據(jù)表,為了控制超賣(mài),需要對(duì)表進(jìn)行行鎖,更新的時(shí)候帶上 where goods_amount 0。
如果是redis,使用 hincrby 一個(gè)負(fù)數(shù)來(lái)減庫(kù)存,并且 hincrby 會(huì)返回改變后的值,再來(lái)判斷返回值是否大于0,
因?yàn)閞edis每個(gè)命令都是原子性的,這樣不用鎖表就可控制超賣(mài)。
網(wǎng)站題目:php數(shù)據(jù)表更新 php無(wú)刷新更新新數(shù)據(jù)
新聞來(lái)源:http://aaarwkj.com/article10/dooohdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、定制開(kāi)發(fā)、網(wǎng)站制作、外貿(mào)建站、用戶(hù)體驗(yàn)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)