レコードを保存するコントローラーがあります
私のテーブルには以下のフィールドが含まれています
これはMustです(LOOPで繰り返さなければなりません)。
従業員 ID のテーブルに 1 回だけレコードを挿入したいのですが、それを繰り返してはいけません。ただし、同じ従業員が複数のバッチ ID と複数のコース ID を持つことができます。
同じ従業員に別のレコードを挿入するために再度機能しない従業員 ID として Unique を使用すると。
このプロセスはループ内で繰り返される必要があり、テーブルから最後に挿入された ID を取得し、別のテーブルに学生の数を割り当てる必要があります。Mysqlでプロシージャを作成し、プロシージャを呼び出すと、これはすべて正常に機能します。しかし、Linux サーバーが実行されておらず、MySQL エラーがスローされています。
これが私のクエリです
<code>
$insert_staff_assign = "insert into staff_assign
(`main_course_id`, `main_batch_id`, `section`, `semester_course_id`, `emp_mas_staff_id`, `emp_category`)
VALUES
(:main_course_id, :main_batch_id, :section_id, :semester_course_id, :emp_mas_staff_id, :emp_category)
ON DUPLICATE KEY UPDATE
main_course_id=:main_course_id, main_batch_id=:main_batch_id, section=:section_id, semester_course_id=:semester_course_id, emp_mas_staff_id=:emp_mas_staff_id, emp_category=:emp_category ";
insert into staff_assign
(`main_course_id`, `main_batch_id`, `section`, `semester_course_id`, `emp_mas_staff_id`, `emp_category`)
VALUES
(:main_course_id, :main_batch_id, :section_id, :semester_course_id, :emp_mas_staff_id, :emp_category)
ON DUPLICATE KEY UPDATE
main_course_id=:main_course_id, main_batch_id=:main_batch_id, section=:section_id, semester_course_id=:semester_course_id, emp_mas_staff_id=:emp_mas_staff_id, emp_category=:emp_category
insert into staff_assign
(`main_course_id`, `main_batch_id`, `section`, `semester_course_id`, `emp_mas_staff_id`, `emp_category`)
SELECT * FROM (
SELECT
:main_course_id, :main_batch_id, :section_id, :semester_course_id, :emp_mas_staff_id, :emp_category
) AS tmp WHERE NOT IN (
SELECT emp_mas_staff_id FROM staff_assign WHERE emp_mas_staff_id = $save_emp_mas_staff_id
) LIMIT 1
</code>
この問題を解決するには、クエリを送信してください。
上記は私の質問です。