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])");
Но я думаю, этот код есть куда улучшить
Подскажите, как оптимальнее всего и с минимальным кол-вом запросов выполнить следующие действия:
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])");
Но я думаю, этот код есть куда улучшить
