|
|
|
| Есть 2 таблицы
table1
-id (auto_increment)
-text
table2
-id (auto_increment)
-subid
-text
|
Требуется добавить информацию в эти таблицы одним запросом, но при добавлении в таблицу table2 надо ввести параметр subid (id последней строки таблицы table1)
INSERT into `table1` (`text`) values('asdasd') UNION INSERT into `table2` (`subid`, `text`) value(ID_TABLE1_asdasd ,'qweqe qwe');
|
Возможно ли реализовать что то такое?
Суть в том чтоб в эти таблицы информации не добавлялись если не возможно один из них
Я поискал в интернете, пока что не столкнулся подобной ситуацией. В принципе должен быть методы чтоб сохранить целостность запросов. | |
|
|
|
|
|
|
|
для: brokonyer
(07.04.2009 в 10:49)
| | - | |
|
|
|
|
|
|
|
для: ols
(07.04.2009 в 14:56)
| |
START TRANSACTION;
INSERT into `table1` (`text`) values ('asdfsdf');
INSERT into `table2` (`text`,`subid`) values ('asdfsdf', (SELECT LAST_INSERT_ID() FROM `table1` LIMIT 0,1));
COMMIT;
|
Вродеб с помощью транзакции работает | |
|
|
|
|
|
|
|
для: brokonyer
(07.04.2009 в 15:29)
| | не совсем работает. Бывает моменты когда у второго запроса выдает ошибку но все равно первый выполняется.
Все операции выполняются даже если не написать COMMIT; | |
|
|
|
|
|
|
|
для: brokonyer
(08.04.2009 в 09:53)
| | БД какого типа
InnoDB?
MyISAM? | |
|
|
|
|
|
|
|
для: Trianon
(08.04.2009 в 11:12)
| | MyISAM | |
|
|
|
|
|
|
|
для: brokonyer
(08.04.2009 в 15:15)
| | myisam транзакции не поддерживает. | |
|
|
|
|
|
|
|
для: Trianon
(08.04.2009 в 15:16)
| | Понятно, Спасибо | |
|
|
|