ステップIDが存在しない場合にのみ、すべてのユーザーのテーブルステップからテーブル(usersteps)に行を挿入しようとしています。
INSERT INTO userssteps
(status,user_id,step_id)
SELECT
'0' ,
(SELECT DISTINCT id from users),
(SELECT DISTINCT id from steps)
上記のMYSQLで次のエラーが発生します
#1242 - Subquery returns more than 1 row
理由:新しいユーザーがサインアップすると、すべてのステップを取得する必要があります。新しいステップを作成する場合は、現在のユーザーが表示できるようにユーザーステップで作成します。
これを行うためのより賢い方法があれば、私は知りたいのですが、私は困惑しています。私もcakePHPを使用しているので、これを支援する特別なcakePHPの方法がある場合は、それをお勧めします。
テーブル構造
steps:
id
name
users:
id
username
password
userssteps:
id
user_id
step_id
status