1

これと同様の質問を投稿しましたが、これは削除に関するもので、これは挿入に関するものです。

こんにちは、

SQL データベースを使用して PHP で小さなメッセージング アプリケーションを作成していますが、小さな問題に直面しています。私はこれを可能な限り説明しようとしますので、ここに行きます...

次のように「users」というテーブルがあります。

ID | Username | Password | Email 
-------------------------------------------
1  | Account1 | Pass 1   | email1@mail.com
2  | Account2 | Pass 2   | email2@mail.com

次に、次のように「友達」と呼ばれる別の人がいます。

UserID | FriendID
------------------
   1   |     2    

したがって、「users」テーブルで条件が満たされた場合に「friends」テーブルにデータを挿入するクエリが必要です

例:

INSERT INTO 'friends' VALUES('$UserID', '$FriendID') IF (users.Password = $Password WHERE users.ID = $UserID)

それが十分な説明であったことを願っていますが、これを説明するのは難しいと思います.

お手伝いありがとうございます :)

4

3 に答える 3

4

これはおそらくそうするでしょう

INSERT INTO friends (userID, friendID)
SELECT $userID, $friendID
FROM users
WHERE (users.password = $password) and (users.id = $userid)

where句が一致する場合、一致する行が挿入されますが、フィールドの代わりにハードコードされた値を選択しているため、それらの値を友人テーブルに挿入するだけです。

于 2012-11-07T20:33:46.437 に答える
1

試す:

 INSERT INTO friends VALUES('$UserID', '$FriendID') where UserID in (Select ID from Users where users.Password = '$passoword' and users.ID = '$UserID')
于 2012-11-07T20:34:58.273 に答える
0

条件付きロジックは、SQL 内ではなく、アプリケーション内に配置する必要があります。INSERT を実行するかどうかは、アプリケーション コード自体で決定する必要があります。

于 2012-11-07T20:30:51.013 に答える