|
|
|
|
|
для: mister_pipin
(23.12.2011 в 00:13)
| | NOW() - это MySQL-функция, возвращающая текущее время. Обойтись можно, но если у вас календарный тип, то будет вставлено что-то вроде "1970-01-01 0:00:00". | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2010 в 13:42)
| | подскажите что означает NOW() после LAST_INSERT_ID() и что NOW() означает в этом запросе? можно ли без этой функции запрос построить? | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2010 в 13:42)
| | Спасибо! | |
|
|
|
|
|
|
|
для: Eugene77
(20.01.2010 в 13:31)
| | я не знаю методик добавления строк в разные таблицы одним запросом.
Ну кроме как применяя хранимые процедуры (как вариант - триггеры) .
Вот Вам пример.
INSERT INTO tbl1 (message_txt) VALUES ('text');
INSERT INTO tbl2 (message_id, date_time) VALUES (LAST_INSERT_ID(), NOW());
Из-за кого стоит?
Из-за надуманной проблемы? Не стоит всяко. | |
|
|
|
|
|
|
|
для: Trianon
(20.01.2010 в 13:12)
| | >Функцию LAST_INSERT_ID() видели?
>Можете экономить на траффике :)
Функцию я видел. Но не встречал примеров её использования.
Можно, конечно, попробовать примеры найти итд.
Но вопрос: а стоит ли из-за неё заморачиваться? - остаётся не ясным.
Ведь, действительно, можно и так как Лена пишет сделать.
Если спросить точнее, то так:
Можете ли вы утверждать, что такое разделение на два запроса к базе, всегда будет хорошим стилем программирования? | |
|
|
|
|
|
|
|
для: Eugene77
(20.01.2010 в 12:53)
| | Функцию LAST_INSERT_ID() видели?
Можете экономить на траффике :) | |
|
|
|
|
|
|
|
для: Лена
(19.01.2010 в 00:03)
| | >А как это вы себе представляете? Опишите, пожалуйста. Откуда-то же мысль эта у вас появилась...
>Я вот так, например, понимаю. Мы сначала делаем вставку в таблицу, где поле автоинкремент, а значит значение этого поля нам первоначально неизвестно. Сервер сам последовательно проводит нумерацию этого поля. Как же мы можем вставить во вторую таблицу значение этого поля, если оно первоначально нам неизвестно? Нам надо сначала его в первой таблице получить, а уж после использовать во второй таблице. Поэтому и два запроса.
Раз PHP получает значение нового поля, то это значение находится в какой-то из переменных MySQL . Следовательно его можно использовать сразу, не дожидаясь ответа базы и не создавая лишнего траффика между базой и скриптом. | |
|
|
|
|
|
|
|
для: Eugene77
(18.01.2010 в 15:55)
| | А как это вы себе представляете? Опишите, пожалуйста. Откуда-то же мысль эта у вас появилась...
Я вот так, например, понимаю. Мы сначала делаем вставку в таблицу, где поле автоинкремент, а значит значение этого поля нам первоначально неизвестно. Сервер сам последовательно проводит нумерацию этого поля. Как же мы можем вставить во вторую таблицу значение этого поля, если оно первоначально нам неизвестно? Нам надо сначала его в первой таблице получить, а уж после использовать во второй таблице. Поэтому и два запроса. | |
|
|
|
|
|
|
|
для: Eugene77
(18.01.2010 в 15:55)
| | а зачем? | |
|
|
|
|
|
|
|
для: Лена
(14.01.2010 в 11:59)
| | А одним запросом нельзя? | |
|
|
|
|