2016-12-28 3 views
-1

基本的に私は自動的にインクリメントされる(ID)フィールドを持っていますfeildカラム(int)の手動インクリメントは、特定のポイントとローを形成します。 (IDではない)

私たちのWebサイトの新しいユーザーがそのフィールドを登録するたびに、カウンタの役割を果たす別のフィールドがありますMySqlで増分の数値でいっぱいになります。

例:

enter image description here

私の質問:どのように私は(1,2,3など)再び1から開始するCounter_IDをリセットするのですか?たとえば、私はそれがSusanがある列でリセットし、そこから再び増分を開始したい。結果は以下のようになります。私は、インクリメントが毎年の年末までに、最初の場所で行われていたかどうかはわかりませんので

enter image description here

私はこのデータベースやウェブサイトの元の開発者ではありませんよ彼は常に登録された最後のユーザーからのインクリメントを開始するようにリセットします。

私は現在phpMyAdminを使用しています。

+0

私はイメージを見ることができないので、オフィスで。具体的には:いつ/いつあなたはカウンターをリセットしたいですか?このリセットの背後にあるロジックとはどのように実装されますか(自動または手動)? –

+0

基本的には、整数値を持つフィールドを手動で増分したいのですが、それはIDではありません。毎年手動でインクリメントされるので、たとえばdec 31の場合は250となり、1月に新しいユーザーが登録されたときは251になりますが、1になるはずです。 登録するとデータベースに書き込まれ、PHPコードでそれらの値はテーブルを形成し、それを表示します。 – Vladimir

答えて

0

私はこの質問を完全に理解することはできませんが、このCounter_IDが更新されるコードの部分はわかりません。

とにかく、あなたの例を考えると、あること:、

ID、counter_id、名前

100:counter_idとIDと同じにならないように、-iはちょうどclarity-のために、値を変更しました41、スーザン

101、42、リー

クエリを実行してテーブルを更新できます。

counter_id UPDATEテーブルSET = counter_id - 40 ID> = 100

、あなたは

100、1、スーザン

101、2を取得します、リー

+0

Tyさんが返信します。それはうまくいきませんでした。私は奇妙なデクリメントを受けました:Dテーブルから更新されたスクリーンショットで私の新しいコメントを見てください、それは私がやろうとしていることについてもう少し明確です。時間があれば返信してください。 Ty。 – Vladimir

+0

テーブルにTRIGGERが定義されているかどうか確認できますか?これは、このフィールドが増分される方法です。それはprevius行の値を取る必要がありますし、1つ増加します。そうであれば、年の最初の日に1に変更するトリガを書き直してください。または新年に追加されたすべてのレコードを手作業で更新し、その後に新しいレコードを挿入すると、トリガーはその増分を処理する必要があります。乾杯。 – sdsc81

+0

トリガーはありませんが、作成することはできますか?それは働くだろうか? :D – Vladimir

0

回答ありがとうございます。私はそれを少し良く説明します。したがって、これはimage 1です。 IDは自動インクリメントされ、カウンターもインクリメントされていますが、ここで私は新しいので、私はこのデータベースを作った人ではないので、正確にはわかりません。

毎年、「カウンタ」は、IDが同じである間に再び手動で増分されます。image 2

毎年私はフォーム1を再び開始するためにそれを変更しなければならないと言われており、それが再びそれを「リセット」するまで自己で増分するようになっています。これは私がやろうとしていることです。

関連する問題