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

mySQL - Вмъкване в три таблици

Определено трябва да направите трите вмъквания в транзакция. Вероятно бих написал съхранена процедура за обработка на вмъкванията.

РЕДАКТИРАНЕ:

Ето пример за съхранена процедура с транзакция. Обърнете внимание на използването на LAST_INSERT_ID(), за да получите идентификатора на предварително вмъкнатия запис. Това са само две таблици, но трябва да можете да го разширите до три таблици.

DELIMITER //
CREATE PROCEDURE new_engineer_with_task(
  first CHAR(35), last CHAR(35), email CHAR(255), tool_id INT)
BEGIN
START TRANSACTION;
   INSERT INTO engineers (firstname, lastname, email) 
     VALUES(first, last, email);

   INSERT INTO tasks (engineer_id, tool_id) 
     VALUES(LAST_INSERT_ID(), tool_id);
COMMIT;
END//
DELIMITER ;

И вие го наричате така:

CALL new_engineer_with_task('Jerry', 'Fernholz', '[email protected]', 1);


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

  2. Как да импортирате дъмп на MySQL от командния ред СЪС презаписване

  3. PHP, MYSQL Autocomplete не работи

  4. Кое е по-ефективно:множество MySQL таблици или една голяма таблица?

  5. Извличане на последната вмъкната идентификационна форма на съхранената процедура в MySQL