Встречается на собеседованиях • сегодня

Можно ли задать первичный ключ вручную

Да, можно задать первичный ключ вручную, если это соответствует требованиям вашей модели данных. В реляционных базах данных (например, 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)

Важные нюансы:

  1. Значение должно быть уникальным и не изменяемым
  2. В Django при ручном PK отключается автоинкремент
  3. Для составных ключей используются дополнительные подходы
  4. Не рекомендуется использовать изменяемые данные (например, email) как PK
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы