0

ユーザーからの投稿を保存する必要があります。

彼らのユーザー名は一意であり、同じミリ秒で投稿を行うことはできないと確信しています.

その場合、投稿の URL には /Username/12345678890/title-of-the-postが含まれます。

Auto_Inc 番号は DB でわからないため使用できません 数字を知ってもらいたい、または推測できるようにしてほしい。

これは、DB に格納するのに十分な一意性を確保するのに十分ですか?


この場合、一意の ID を DB (MySQL) に保存する最善の方法です。

PK は URL に対して相対的ではありません。

例えば

AUTO_INCREMENT PK   Username   createDate (BIGINT)
-----------------   --------   -------------------
23456               Daxon       12345678922

列にインデックスを付ける必要がありますか?

--編集--

ユーザーが投稿の数を知ったり、投稿の数を推測したりできるかどうかはわかりません。

したがって、ミリ秒単位の currentTime は推測できないと思いました。

Mabye この値は暗号化する必要がありますが、それでも URL-SAFE です

4

3 に答える 3

2

Auto_Inc番号はDBでわからないので使えません

次に、問題の解決策は、それを学習するか、理解していないことを明確にするために質問することです (MySql はserialこれらを簡単にするエイリアスを提供しています)。自分の言語の機能を使用する方法がわからないという理由で回避策を作成すると、後で解決しなければならない問題が発生するだけです。簡単で、助けてくれる人がたくさんいるうちに、今すぐ解決してください (増分キーの設定方法を知っている人が増え、奇妙な同時実行性の問題を修正したり、古いデータを台無しにする「名前の変更」機能を遅らせたりする方法を知っている人が増えています)

于 2009-09-24T14:36:40.437 に答える
1
  1. 異なるユーザーが異なる PC から同じユーザー名を使用してログインできない場合を除き、ユーザー名 + 時間 (ミリ秒) で十分です。異なる PC から投稿できる場合は、サーバーが現在の時刻を示していることを確認する必要があります (ユーザーの PC はすぐに同期が取れなくなる可能性があります)。

  2. username 列と createDate 列にインデックスを作成します。単一のインデックスで十分です。

于 2009-09-24T14:33:40.003 に答える
0

その場合、投稿の URL には /Username/12345678890/title-of-the-post が含まれます。

主キーを取得して、以下のような URL を作成することをお勧めします。

/Username/AUTO_INCREMENT_ID/title-of-the-post

Auto_Inc番号はDBでわからないので使えません

投稿のユーザー名とタイトルの値を取得する場合と同じ方法で、AUTO_INCREMENT_ID を取得できます。SELECT ステートメントで選択するだけです。例えば

SELECT auto_increment_id, username, anything_other FROM table1
于 2009-09-24T14:42:58.273 に答える