Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да проверя дали стойността вече съществува в таблицата?

Използвайте unique constraint . Опитайте се да вмъкнете/актуализирате записа и да хванете изключението, хвърлено, когато уникалното ограничение е нарушено. Това е единственият начин да се гарантира уникален имейл адрес; първо проверката и след това актуализирането е предразположено към проблеми с едновременността, тъй като е възможно някой друг да актуализира своя/нейния запис до същата стойност, която се опитвате да зададете непосредствено след като сте направили проверката и преди да актуализирате записа.

Също така:научете как да използвате where -клаузи. Сега извличате ВСИЧКИ записи, преглеждате ги и т.н., което отнема ненужно много ресурси, отнема твърде много време и е обикновена загуба. Ако искате да проверите за запис, отговарящ на критерии, пишете:

Select foo, bar from table where baz = 123

Където baz = 123 е вашият критерий. Представете си какво ще се случи, когато имате 500 или дори 500 000 записа в текущата си настройка. Базата данни ще изпълни вашата заявка, ще събере ВСИЧКИ редове от тази база данни, ще ги прехвърли във вашето приложение, където вашето приложение ще повтори всичките 500 000 резултата. Или помолите DB да направи това, в което е добър (и защо го използвате на първо място):Дайте ми/всички записи, които отговарят на критерий X. Ще получите 1 или нито един запис (предвид уникалния ограничение):1 =някои записи отговарят на вашия критерий, нито един =няма записи. Спестява прехвърляне и "ръчно трябва да се преглеждат" 499 999 записа;-)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте нова таблица от обединяване на две таблици с обединение

  2. Не може да се разреши името на таблицата близо до

  3. MySQLdb.cursor.execute не може да изпълнява множество заявки

  4. jQuery Plugin за актуализиране на живо на <li> от PHP

  5. Качване на изображение в MySQL база данни blob в codeigniter