0

私はMysqlが初めてなので、簡単に行ってください。この分野の知識の欠如を許してください。しかし、私はどこでも検索しましたが、この単純な答えを見つけることができないのはばかげています. ページを宣伝し、ポイントを獲得し、fbook 何とか何とかの PPC タイプの広告を作成するための楽しいアプリを作成しようとしています...

現在、ユーザー データを含む {table1} が 1 つあります。UID、fname、lname、追加日

また、ページに返される広告のユーザー リンクを送信するための table2 には、UID からのプライマリと、現在リンクを追加できる 1 つの列しかありません。主キーを使用して、ユーザー名または uid のいずれかが必要ですが、ユーザーとすべてのリンクを呼び出すことができるように、既存の主キーにさらに追加できる必要があります。このように追加できますが、もちろんテーブルにさらに追加するには自分自身を削除する必要があります...

$query = "INSERT INTO {$table} VALUES ('{$userid}', '{$user_link}')";
mysql_query($query) or die('Error updating database');

次に、後で別のものを追加するとします

if new submission check existing then 
add new column to existing uid... link#2=http://

何が欠けていますか。質問を言葉にすることさえ難しいので、検索結果のためにこれをここに入れています! ヘルプ!

4

2 に答える 2

2

テーブルは、UID にデータベースの主キーを持つことはできません。定義により、主キーとしての UID は一意でなければなりません。どちらかが必要です。

  • a COMBINED KEY UID & USER_LINK (ORACLE の考え方)
  • キーがまったくありません(機能しますが、重複する可能性があります)
  • レコードごとに 1 を追加する一般的な AutoNum キー (MSFT の考え)

何かが主キーであると言うとき、値が決してnullになることはなく、テーブル内で常に一意になることを意味します。これには注意が必要です。あなたがユニークだと思うものは、実際にはそうではありません。

この場合、UNIQUE キーはユーザー リンクで定義されているため、同じユーザーが同じリンクを持つ必要はありません (右?) ため、2 つのキーを組み合わせて作成できます。

于 2012-09-18T01:24:48.830 に答える
1

PRIMARY KEY定義上、一意である table2の を削除します。FOREIGN KEYtable11 へのバックとして通常のインデックスを使用します。

于 2012-09-18T01:23:54.850 に答える