Встречается на собеседованиях • сегодня
Можно ли задать первичный ключ вручную
Да, можно задать первичный ключ вручную, если это соответствует требованиям вашей модели данных. В реляционных базах данных (например, PostgreSQL, MySQL) и ORM (например, Django, SQLAlchemy) это стандартная практика.
Пример с SQLAlchemy:
python
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
tablename = 'users'
id = Column(Integer, primary_key=True) # Автоинкремент по умолчанию
custom_id = Column(String(50), primary_key=True) # Ручное назначение
text
В Django:
```python
from django.db import models
class Product(models.Model):
sku = models.CharField(max_length=50, primary_key=True) # Ручной PK
name = models.CharField(max_length=100)Важные нюансы:
- Значение должно быть уникальным и не изменяемым
- В Django при ручном PK отключается автоинкремент
- Для составных ключей используются дополнительные подходы
- Не рекомендуется использовать изменяемые данные (например, email) как PK

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы