crocodile2u
http://vbolshov.org.ru
Да это понятно ![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
Но все же - если мускуль не поддерживает сиквенсы, зачем его заставлять это делать насильно?
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
Но все же - если мускуль не поддерживает сиквенсы, зачем его заставлять это делать насильно?
Ну если сомневаться в правильности команд БД, то с ней вообще не стоит работать... (разве не так?)И не пытался бы определить ИД которая сгенерировала база командой, которая незнамо какой правильности результат тебе возвращает. Тебе ниразу не приходила мысль, что если бы это было правильнее, то так бы везде и было, а не тока в Мускуле?
Не совсем понимаю...А что ты будешь делать со своим автоинкрементом, когда тебе нужно будет генерировать спрошные ИД сразу для разных таблиц?
Угу...А вообще, следовало бы, наверное, перенести часть дискусси про сиквенсы в свой топик, ведь к DB_NestedSet она имеет лишь опосредованное отношение, имхо...
Пример (для PostgreSQL):Автор оригинала: he][es
Не совсем понимаю...
create sequence ab_seq;
create table a (
a_id integer default nextval('ab_seq') not null,
...
);
create table b (
b_id integer default nextval('ab_seq') not null,
...
);
Если база поддерживает sequence'ы, то значение ты тоже можешь получить и до, и после, и вообще не заморачиваться.Если мне нужен ID записи,то мне в принципе без разницы, когда я его получу, до или после вставки записи в таблицу (путем того же LAST_INSERT_ID()). Если я его хочу где то использовать, то скорее всего это связанные запросы, и при невыполнении одного, я путем транзакций откачу все. Зачем тут сиквенсы?
Вот это уровень показывает... Когда я в чём то не уверен, прежде всего я перепроверю себя. А вы думаете что вы всё знаете?.. Что бы не выглядеть голословным достаточно смотреть локументацию...простите, откуда в MySql транзакции?
Он всегда есть. Человек должен рости. Ину а конкретнее объяснять смысла нет
будешь выкручиваться как сможешь, незная простых вещей... Sad Spirit спасибо за объяснение. я бы наверное реализовал это на уровне кода (РНР)... Хотя так конечно элегантнее...когда сталкнешься с подобной задачей
create sequence ab_seq;
create table a (
a_id integer default nextval('ab_seq') not null,
...
);
create table b (
b_id integer default nextval('ab_seq') not null,
...
);
Да спасибо то оно само собой!..так что мне тоже мог бы спасибо сказать![]()
Действительно, ты прав. Это реальная проблема... Не знаю, как ее достаточно удобно решить в postgres/mysql.Ведь ID - идентификационный номер записи, так?.. по нему ссылаются на запись, а если мы не знаем в какой таблице эта запись хранится как мы можем на неё ссылаться?..