Mysql
 sql >> база данни >  >> RDS >> Mysql

Вмъкване на поле за идентификатор, генерирано от тригера, но не предадено

Лично аз използвам съхранени процедури.
Ето основен пример с PDO:

Код за създаване на Съхранените процедури :

CREATE DEFINER=`user`@`localhost` PROCEDURE `InsertUser`(IN `Input_username` INT, OUT `Out_ID` INT)
    LANGUAGE SQL
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN

   INSERT INTO users(
        username)
    VALUES (
    Input_username);

    SET Out_ID = LAST_INSERT_ID();
    SELECT Out_ID;
END

И PHP код :

  $insert = "CALL InsertUser(:Input_username,
                             @Out_ID)";
  $bdd = new PDO('mysql:host=localhost;dbname=db-name', 'user', 'password');

  $stmt = $bdd->prepare($insert);     
  $stmt->bindParam(':Input_username', rand(), PDO::PARAM_STR); // to create random name

  $stmt->execute();
  $tabResultat = $stmt->fetch();
  $id_user = $tabResultat['Out_ID'];
  var_dump($id_user);

Надявам се да съм помогнал. :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извикване на PHP скрипт от MySQL тригер

  2. Достъпът до MYSQL във външния файл е отказан - но моят потребител има ЦЯЛ достъп.. и папката е CHMOD 777

  3. MySQL дял на таблицата по месеци

  4. Защо моята InnoDB таблица има странна стойност за броя на записите?

  5. Стартирайте MySQL Server като услуга (Win 8)