Mysql + PHP Вставка и получение последней вставки ID из триггера - PullRequest
0 голосов
/ 06 февраля 2019

извините, я не очень разбираюсь в mysql.

У меня есть транзакции таблицы (Trans_ID - это PK, но не автоинкремент), но есть транзакцияseq для запуска автоинкремента.

для транзакций таблицы, я поставил триггерчтобы получить Trans_ID из таблицы транзакцииseq

здесь под кодом триггера:

CREATE
DEFINER=`root`@`localhost`
TRIGGER `pos`.`tg_transactions_insert`
BEFORE INSERT ON `pos`.`transactions`
FOR EACH ROW
BEGIN
  INSERT INTO transactionseq VALUES (NULL);
  SET NEW.ID_Transaction = CONCAT('IDT', LPAD(LAST_INSERT_ID(), 3, '0'));
END$$

и у меня есть php-код для вставки в мою таблицу здесь код:


if($_SERVER['REQUEST_METHOD']=="POST"){
    $response = array();

    $ID_Employee = $_POST['ID_Employee'];
    $Name_Employee = $_POST['Name_Employee'];
    $ID_Customer = $_POST['ID_Customer'];
    $Table_Number = $_POST['Table_Number'];



    $insert = "INSERT INTO transactions
    (ID_Employee,Name_Employee,ID_Customer,Table_Number,ID_Outlet,CreatedBy_Transaction,CreatedDate_Transaction,Status_Transaction) 
    VALUES ('".$ID_Employee."','".$Name_Employee."','".$ID_Customer."','".$Table_Number."','1','".$ID_Employee."',NOW(),'OPEN')"; 

    if(mysqli_query($con, $insert)){
        $last_ID = mysqli_insert_id($con);
        $response['value']=1;
        $response['message']="Table berhasil dimulai".$last_ID;
        echo json_encode($response); 
    }
    else{
        $response['value']=0;
        $response['message']="Table gagal dimulai";
        echo json_encode($response); 
    }

}

, так как в моей транзакции таблицы есть триггер и нет автоматического приращения, поэтому я не могу получить последний Trans_ID с помощью mysqli_insert_id ($ con).

пожалуйста, посоветуйте, как получить мойпоследняя вставка Trans_ID? и передаст этот Trans_ID моему приложению флаттера.

Спасибо

...