使用mysql在另一个表中基于最高值将新记录插入表中?

时间:2018-06-07 07:24:48

标签: php mysql id

我有两张桌子:

TABLE_1:

  

| id |名字|

TABLE_2

  

| id | table_1_id |

table_1有很多行,我想从table_1&中选择最高的id值。将其作为新记录插入table_1列的table_2中。

是否有人可以帮助我使用mysql,因为我无法实现它?根据我的阅读,我需要加入列,但我一直无法找到正确的语法。

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

怎么样:

INSERT INTO table2 (id, table_1_id) VALUES (null, (SELECT MAX(id) FROM table_1 ))

编辑:我假设table2中的id是auto_increment或具有其他有意义的默认值。另一种选择只是省略插入中的id列,但IMO对代码可读性不利。

答案 1 :(得分:0)

Assign both table id is primary & auto increment 

    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";


    $conn = new mysqli($servername, $username, $password, $dbname);

    $sql = "INSERT INTO table_1 (name) VALUES ('kane')";

    if ($conn->query($sql) === TRUE) {
     /// Table1 value insert successfully
     $last_insert_id = $conn->insert_id;

     $sql1 = "INSERT INTO table_2 (table_1_id) VALUES ($last_insert_id)";
     if ($conn->query($sql) === TRUE) {
      /// Table2 value insert successfully
     }


    }

答案 2 :(得分:0)

 $config['base_url']="http://www.yourdoamin.com";