作者 主題: [求助]資料庫加減法問題  (閱讀 3787 次)

0 會員 與 1 訪客 正在閱讀本文。

868nic

  • 懷疑的國中生
  • **
  • 文章數: 34
    • 檢視個人資料
[求助]資料庫加減法問題
« 於: 2004-05-08 13:31 »
請問假設我的abc資料表內只有一個欄位
一般情況每輸入一筆資料會從1一直加上去

1 <= 第一次輸入
2 <= 第二次輸入
3 <= 第三次輸入

我要讓它從最大值減下來

3 <= 第一次輸入
2 <= 第二次輸入
1 <= 第三次輸入

這牽涉到要先把第一筆資料取出再比對共有多少筆資料後加一
然後才能以sql語法將其減一

這是我目前的作法
$sqla = "select news_id from news";
$ra = mysql_query( $sqla );
list($nid_a) = mysql_fetch_row($ra);

if (!($nid_a)){
   $sql1 = "INSERT INTO news (news_id) VALUES ('00')";
   mysql_query( $sql1 );
}else{
   $sql2 = "select concat(lpad(ifnull(max(right(news_id,2))+1, 1), 2, '00')) from news";
   $rb2 = mysql_query( $sql2 );
   list($nid_2) = mysql_fetch_row($rb2);
   $sql3 = "INSERT INTO news (news_id) VALUES ('$nid_2')";
   mysql_query( $sql3 );
}

我目前只會檢查資料是否空值後加一
有那位好心的大大指點一下吧

Pail

  • 俺是博士!
  • *****
  • 文章數: 1040
  • 性別: 男
    • 檢視個人資料
[求助]資料庫加減法問題
« 回覆 #1 於: 2004-05-19 11:54 »
參考這篇...
http://dev.mysql.com/doc/mysql/en/CREATE_TABLE.html

其中在 create table 的 table_option  中, 有
   AUTO_INCREMENT = value
應該可以 assign 它的 value 為何, maybe support 負數(-1)...
不過我沒試過....
你可以試試看, 如何????
Pail Luo.
Email: pail.luo@gmail.com