| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > INSERT с условнием |
| Автор: rcdimon 8.3.2006, 09:32 |
| Можно ли вставлять в базу данные с условием, а именно. В базе данных уже могут находиться точно такие же данные, как те, что подаются на запись с помощью INSERT... нельзя ли автоматически вести проверку наличия этих данных при вставке. А то сейчас мне приходится сначала делать SELECT этих данных и если в ответ тишина- значит этих данных нет и тогда уже INSERT... а вставлять надо оооочень много... хотелось бы как нить автоматически производить проверку срадствами самого MySQL... Версия MySQL 4.0 |
| Автор: Secandr 8.3.2006, 11:02 |
| rcdimon, сделай соответствующие поля/группы полей уникальными. Тогда при инсерте повторяющихся данным запрос не будет выполнятся! |
| Автор: rcdimon 8.3.2006, 13:58 |
| Они уникальны только в сумме. Например есть 4 поля.. если во всех четыхер совпадения-тогда не заносить... а если хоть в одном есть отличия- тогда заносить... а уникальность на сколько мне известно ставится на каждое поле независимо |
| Автор: DeadSoul 8.3.2006, 14:01 | ||
Это неверно |
| Автор: rcdimon 8.3.2006, 18:30 |
| отлично, а как тогда ставить на несколько полей в сумме? |
| Автор: Secandr 8.3.2006, 18:40 |
| Уникальными могут быть связки из любого числа полей! |
| Автор: Kesh 8.3.2006, 21:38 | ||
rcdimon,
Он просто не даст добавить еще один... |
| Автор: rcdimon 9.3.2006, 13:37 |
| База данных выдает ошибки, у меня из-за этого прога вылетает. а еще не получается контролировать прошла ли вставка или нет |
| Автор: Kesh 9.3.2006, 14:00 |
| rcdimon, ну дык... это уже вопрос контроля выполнения... |
| Автор: Secandr 9.3.2006, 18:24 |
| Проще научить программу адекватно реагировать на ошибки, чем 500 раз делать селект! |
| Автор: Ignat 10.3.2006, 09:46 |
| Не только проще, но и более грамотно. |
| Автор: Secandr 10.3.2006, 09:56 |
| Ignat, А если так не сделать, при большом количестве запросов на селект+инсерт сервер будет реагировать крайне неадекватно, за что админы будут тебя не любить... |