Должны компиляторы Windows C ++ работать.
кроме того, проверьте MinGW.
Да, можно предположить, что это стандартное правило, согласно которому СУБД требует индекса для первичного ключа.
В основном ядру базы данных нужен индекс, чтобы обеспечить уникальность данных для первичного ключа, и чтобы сделать это быстро, требуется index.
На сервере MSSQL при создании первичного ключа по умолчанию обычно создается кластерный индекс.
В MySQL первичный ключ - это тип индекса (особый уникальный индекс).
It tends to be the case in most RDBMSs that a primary key is implemented as an index.
This is not a requirement per-se, but a (pretty much) obvious optimization.
Взгляните на это
Если ограничение PRIMARY KEY создан для таблицы базы данных и нет кластерный индекс в настоящее время существует для эта таблица, SQL Server автоматически создает кластерный индекс на первичный ключ