簡體   English   中英

MySQL表連接上的正確語法?

[英]Correct Syntax on MySQL Table Joins?

我有兩個表,我正在嘗試加入一個新表。 我有一個“用戶”表,一個“任務”表,我有一個空白的“user_tasks”表。 我正在嘗試將它們加入“user_tasks”表。

這是我的表格。

users = user_id, first_name, last_name
tasks = task_id, task_description
user_tasks = ut_id, ut_user_id, ut_first_name, ut_last_name, ut_task_id, ut_task_description.

這是我的PHP和SQL查詢。 我不確定是什么問題。 我得到一個未定義的索引。 我是否需要在HTML表單上添加隱藏的輸入? 任何幫助,將不勝感激。

<?php 

if(isset($_POST['submit'])){

    $user_id = $_POST['user_id'];
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];

    $task_id = $_POST['task_id'];
    $task_description = $_POST['task_description'];

    $ut_id = $_POST['ut_id'];
    $ut_user_id = $_POST['ut_user_id'];
    $ut_first_name = $_POST['ut_first_name'];
    $ut_last_name = $_POST['ut_last_name'];
    $ut_task_id = $_POST['ut_task_id'];
    $ut_task_description = $_POST['ut_task_description'];

    $join_query = "SELECT users.user_id, users.first_name, users.last_name, tasks.task_id, tasks.task_description FROM users, tasks INNER JOIN user_tasks ON users.user_id = user_tasks.ut_id INNER JOIN user_tasks ON tasks.task_id = user_tasks.ut_id INSERT INTO user_tasks (ut_user_id, ut_first_name, ut_last_name, ut_task_id, ut_task_description) VALUES ($user_id, $first_name, '$last_name', '$task_id', $task_description) WHERE ('$first_name' = '$ut_first_name', '$last_name' = '$ut_last_name', $task_id = $ut_task_id, '$task_description' = '$ut_task_description') ";

    $result = mysqli_query($connection, $join_query);      

}

?>

我認為你的選擇中的表('用戶,任務')是錯誤的,也許表是'user_tasks'

你有兩個連接的查詢,選擇+插入,試試這個:
1-插入+選擇單獨:

           $join_query = "SELECT users.user_id, users.first_name,
           users.last_name, tasks.task_id,
           tasks.task_description FROM users
           INNER JOIN user_tasks ON users.user_id = user_tasks.ut_user_id 
/*users.user_id = user_tasks.ut_id*/
           INNER JOIN tasks ON task.task_id=user_task.ut_task_id";

           $result = mysqli_query($connection, $join_query); 

AND Insert After,Insert不使用where:

 $insert_query="INSERT INTO user_tasks (ut_user_id, ut_first_name,  ut_last_name,
                ut_task_id, ut_task_description) 
                VALUES ($user_id, '$first_name', '$last_name',
               '$task_id', '$task_description')";


mysqli_query($connection,$insert_query) or die(mysqli_error($connection));

2- INSERT with SELECT:

$query="INSERT INTO user_tasks (ut_user_id, ut_first_name,  ut_last_name,
                    ut_task_id, ut_task_description) 
SELECT users.user_id, users.first_name,
           users.last_name, tasks.task_id,
           tasks.task_description FROM users
           INNER JOIN user_tasks ON users.user_id = user_tasks.ut_user_id   /*users.user_id = user_tasks.ut_id*/
           INNER JOIN tasks ON task.task_id=user_task.ut_task_id";

       mysqli_query($connection,$query) or die(mysqli_error($connection));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM