Mysql + PHP Вставить и получить последний идентификатор вставки из триггера

извините, я не очень эксперт по mysql.

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

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

здесь ниже код триггера:

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 моему приложению флаттера.

Спасибо

Почему у вас не включено автоинкрементирование? Мне просто интересно. И когда вы говорите «последний Trans_ID», это значение Максимум? Или это последний добавленный (максимум столбца date)? ... Честно говоря, я не уверен, что правильно понял ваш вопрос. Так что, если вы не получите никаких ответов, то другие могут чувствовать то же, что и я, - и тогда разработка или перефразировка вопроса может быть хорошей идеей. :-)

Zeth 06.02.2019 12:26

Если у вас нет auto increment, то LAST_INSERT_ID() ничего не вернет

Nick 06.02.2019 12:32

обратитесь к этому руководству: stackoverflow.com/questions/17893988/…....

Kart Zhai 06.02.2019 12:33

я реализовал так же, как автоинкремент с префиксом. в настоящее время я вставляю в таблицу trans, и с автоматическим увеличением Trans_ID триггера с префиксом работает. но мне нужно получить этот последний Trans_ID

Kart Zhai 06.02.2019 12:35

я получил новую опцию, я поместил переменную в mysql set @asd = CONCAT('IDT', LPAD(LAST_INSERT_ID(), 3, '0')); как передать mysql variabel @ asd для получения на моем PHP? какой код я должен написать??

Kart Zhai 06.02.2019 12:55
stackoverflow.com/questions/24436060/…
splash58 06.02.2019 13:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
6
244
0

Другие вопросы по теме