Ответ
Для добавления нового столбца в таблицу используется SQL-запрос ALTER TABLE. В Go это можно сделать через database/sql пакет:
_, err := db.Exec(`
ALTER TABLE users
ADD COLUMN IF NOT EXISTS phone VARCHAR(20)
`)
if err != nil {
log.Fatal(err)
}
Ключевые моменты:
- Используем
ADD COLUMNдля добавления столбца IF NOT EXISTSпредотвращает ошибку при повторном выполнении- Указываем тип данных (VARCHAR, INT и т.д.)
- Можно добавить ограничения:
NOT NULL,DEFAULTи т.п.
Пример с миграцией:
func migrate(db *sql.DB) error {
_, err := db.Exec(`ALTER TABLE products ADD COLUMN price DECIMAL(10,2) DEFAULT 0`)
return err
}