![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Здравствуйте, в моей таблицы для одного из полей используется параметр Unique, скажите пожалуйста можно ли после запроса INSERT узнать id той строки, в которой уже имеются уникальные для нее данные ?
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
можно
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
bars80080
По моему ты не так понял вопрос, если я правильно понял, он хочет после exception-а узнать id строки. GrafF812 Если это для UPDATE-а то в mysql есть такая штука
WHERE для UPDATE-а не нужен, он автоматически будет использовать уникальный ключ и повторившееся значение. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
да, не втыкнул сразу
|
|||
|
||||
| GrafF812 |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
azesmcar, Вот смотрите что мне нужно, допустим есть таблица Fruits:
Все поля таблицы объявлены unique. Допустим я хочу довать в таблицу следующий фрукт:
этот запрос не вставит его в таблицу, т.к "Груша" уже есть в строке с id=2, вот мне как раз и нужно узнаь этот id той строки. Это сообщение отредактировал(а) GrafF812 - 24.3.2010, 15:49 |
||||
|
|||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 3 Всего: 42 |
перед вставкой сделать
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
Я понял что вам нужно, я лишь не понял для чего. Если это нужно для обновления (т.е. не сумел добавить запись, обнови существующую) тогда так, как я написал, если для чего-то другого - можно подумать, именно способа для получения ID насколько мне известно нет, разве что сделать parse строки ошибки. |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
azesmcar, мне это нужно не для UPDATE, мне нужно просто запомнить этот id, чтобы потом использовать,
Fortop, спасибо за пример, не хотелось бы вводить еще один запрос, можно ли как-нибуть по другому? p.s вариант с парсом ошибки мне не подойдет. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
GrafF812
нет, по другому никак, запускайте запрос select как показал Fortop. |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
azesmcar, ясно спасибо, подскажите пожалуйста, по поводу парсинга ошибки. Какие данные есть в ошибке которые помогут решит мою проблему?
|
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
я бы написал select, parsing ошибки дело неблагородное. А ошибка имеет такой вид
хотя если тебе не значение уникального поля нужно а именно ID - тогда и это не подходит. Это сообщение отредактировал(а) azesmcar - 24.3.2010, 16:39 |
||||
|
|||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 3 Всего: 42 |
Это нормальная практика. Если нужен ID то делается SELECT. Если нужна вставка, то делается INSERT Если нужен апдейт, то делается именно UPDATE INSERT'ами же узнавать ID - это и нелогично и неправильно. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Fortop, понял всем спасибо. Буду делать SELECT
|
|||
|
||||
| GrafF812 |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Прошу прощения, подскажите как настроить поля (UNIQUE) и сделать запрос на вставку в таблицу если только не совпадают два поля name и price:
Например этот запрос должен добавить новую запись, т.к различаются стоимости груши
а этот не должен вставиться поскольку такое name и price уже есть в таблице
|
||||||
|
|||||||
| azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
надо сделать уникальными сочетание этих двух полей
но в таком случае я бы посоветовал вынести определение фруктов в отдельную таблицу. т.е. так
Это сообщение отредактировал(а) azesmcar - 24.3.2010, 22:05 |
||||||
|
|||||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
azesmcar, а в пределах одной таблицы можно так сделать?
|
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 3 Всего: 42 |
Один уникальный составной индекс по 2м полям поставить
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
||||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
azesmcar, спасибо, а можете написать как тогда правильно запрос составить?
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
||||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
||||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 1 Всего: 211 |
не совсем понимаю проблему
|
|||
|
||||
| GrafF812 |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
azesmcar, спасибо Вам большое за помощь, скажите а в чем разница:
и
|
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |