SQL задачка, кучу всего одним запросом

Step!

Новичок
SQL задачка, кучу всего одним запросом

Подскажите, как оптимальнее всего и с минимальным кол-вом запросов выполнить следующие действия:
1. В таблице blocks создать запись, с полем cparams равным строке "tid=<id>", где <id> -- это поле id текущей записи, которое заполняется с помощью автоинкримента.
2. Во второй таблице Frames создать запись с полем blockid = <id>

Руководствуясь своими скудными знания SQL слепил такое такое (сорри, тут немного лишнего, код прямо из проекта):

db_query("INSERT INTO $table_b (ctype) VALUES ('wtext')");
$tmp=mysql_fetch_row(db_query("SELECT id FROM $table_b ORDER BY id DESC LIMIT 0,1"));
db_query("UPDATE $table_b SET cparams = 'id=$tmp[0]' WHERE id=$tmp[0]");
db_query("INSERT INTO $table_f (page,name,blockid) VALUES ('$params[npage_name]','main',$tmp[0])");

Но я думаю, этот код есть куда улучшить :)
 

Гравицапа

elbirret elcno
Step!
А зачем ты хранишь в таблице такую конструкцию
'id=$tmp[0]' ?
Если этот id равен id записи, то почему не формируешь эту конструкцию потом?
+
[m]mysql_insert_id[/m]
 
Сверху