2013-02-10 86 views
0

在表中,我有一個字段寬度類型的floor。MySQL SET查詢(x = x - y)

當我在PHP做查詢,我要減去這個數值另一個號碼,例如:

$number = 14.3; 
mysql_query("UPDATE field SET count = count - $number WHERE name = '$name'); 

我需要減去這個$numbercount,但查詢理智最多做。我試圖把它放在括號內,但結果相同。

+0

您需要結束與「 – 2013-02-10 11:33:33

+0

$數= INTVAL($編號)查詢;然後用它裏面查詢'count' =('count'- $號) – 2013-02-10 11:46:09

+0

@Akam因爲'$ number'最初只是放在一個文本字符串中,不需要關心'PHP'如何查看它。在任何情況下,它只是文本的時間到達MySQL。 – mah 2013-02-10 11:52:16

回答

2

COUNT是保留關鍵字,請嘗試添加反引號。您還需要用雙引號關閉您的PHP代碼。

mysql_query("UPDATE field SET `count` = `count` - $number WHERE name = '$name'"); 

如果你don'e喜歡使用反引號,另一種是在表上提供的別名。

mysql_query("UPDATE field a SET a.count = a.count - $number WHERE name = '$name'"); 
+0

同樣的結果 – user2058653 2013-02-10 11:34:38

+0

你也有一個語法在'name ='$ name''末尾添加雙引號' – 2013-02-10 11:37:49

+0

雙引號並不重要,所有的作品完美無缺,例如,如果我從count減去1,那麼它將起作用。 – user2058653 2013-02-10 11:40:46

1

您缺少雙引號。試試這個:

mysql_query("UPDATE field SET `count` = `count` - $number WHERE name = '$name'");