Существует таблица tblStudents, которая содержит информацию о student_courses. Каждому новому ученику присваивается CourseNo (varchar) для курса в зависимости от типа курса и типа местоположения. например:Предотвращение одновременных вставок в sql
CourseNo Course Location StudentID Date
NET_MUMBAI_001 Net Mumbai 100 2/6/2015
NET_MUMBAI_002 Net Mumbai 101 2/6/2015
NET_DELHI_001 Net Delhi 100 2/6/2015
JAVA_DELHI_001 Java Delhi 101 2/6/2015
JAVA_DELHI_002 Java Delhi 102 2/6/2015
JAVA_DELHI_003 Java Delhi 122 2/6/2015
JAVA_DELHI_004 Java Delhi 112 2/6/2015
Когда новый студент зачисления, он проверяет последний самое высокие используемый номер (002 в данном случае для Мумбаи и сети) для этой комбинации, конечно, и расположения, и генерирует новый курс нет. (NET_MUMBAI_003). Когда есть параллельные вставки, генерируемое число дублируется. Как можно предотвратить то же самое?
[ 'AUTO_INCREMENT'] (https://dev.mysql.com/doc/refman/5.0/en/example-auto-increment. html) –
Используйте уникальный индекс для столбца CourseNo – Jens
Какие из RDBMS (MySql, Sql Server, Oracle и т. д.)? – StuartLC