Будущая таблица SQL проверки? - PullRequest
0 голосов
/ 01 декабря 2010

Я рассматриваю возможность создания базы данных MySQL для не критически важного проекта. Я думал о сценарии, когда в случае, когда мне нужно было вставить другой столбец в таблицу, как я могу добиться этого, не ставя под угрозу целостность данных ранее существовавших столбцов, а также указав значения по умолчанию для этих дополнительных столбцов? Я хотел бы получить ответ как для SQL, так и для Java Persistence API (JPA).

Кроме того, я также хотел бы знать, как добавить таблицу в ячейку родительской таблицы.

Ответы [ 4 ]

4 голосов
/ 01 декабря 2010

Это просто:

ALTER TABLE mytable
ADD COLUMN newcolumn VARCHAR(20)

Вы можете присвоить ему значение по умолчанию, вы можете использовать предложение AFTER xyz, чтобы добавить его после столбца "xyz" (или оставить его выключенным, чтобы добавить столбец в конец).

Ничего особенного в этом нет, любая СУБД позволит вам добавлять (и удалять) столбцы в базу данных на лету.

1 голос
/ 01 декабря 2010

Одна вещь, которая может повлиять на ваш код, это если код ссылается на столбец позиции, а не на столбец ключевого слова. Если вы ожидаете, что данный firstname будет в позиции 5, вместо того, чтобы ссылаться на него с ключевым словом firstname, вы можете добавить новый столбец в конце таблицы.

1 голос
/ 01 декабря 2010

Как уже говорилось, вы можете просто добавить столбец в таблицу, используя синтаксис выбранной вами СУБД.

Если вы не хотите менять свой код в этот момент, все, что вы можете сделать, это предоставить разумное значение по умолчанию (также может быть разумным значение по умолчанию) Таким образом, ваше приложение может вставлять строки без каких-либо проблем. Позже вы можете отобразить свой столбец и начать использовать его в своем приложении.

Если честно, довольно распространено выпускать обновление dbschema вместе с новой версией приложения.

0 голосов
/ 01 декабря 2010

Добавление столбца не должно влиять на ранее существовавшие данные, если только вы не делаете что-то, связывающее столбцы, например, создаете многоколонный индекс, уникальный ключ или что-то подобное Но если между новыми и старыми столбцами нет таких связей, добавьте столько столбцов, сколько хотите. Сойти с ума!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...