Изменить столбец SQL Server в PDO - PullRequest
0 голосов
/ 03 февраля 2011

Я пытаюсь создать существующий столбец идентификатора в базе данных SQL Server AUTO_INCREMENT.У меня нет доступа к графическому интерфейсу.

Я пытаюсь выполнить этот запрос.

<code>$stmt = $this->conn()->prepare('ALTER TABLE myTable ALTER COLUMN ID int NOT NULL auto_increment');
if($stmt->execute()){

}else{
    echo "<pre>";
    print_r($stmt->errorInfo());
    echo "
";}

Это дает следующую ошибку [2] => Incorrect syntax near 'auto_increment'. [20018] (severity 5) [(null)]

Спасибо за помощь.

1 Ответ

2 голосов
/ 03 февраля 2011

Что ж, этот код определенно не будет работать на SQL Server, где вы не можете изменить таблицу, чтобы добавить функцию идентификации в поле после ее создания.

И это не сработало бы, даже если бы могло, потому что идентичность - это то, что вы используете на SQL Server без автоинкремента.

Необходимо добавить идентификатор в виде отдельного столбца или сделать то, что делает SSMS, и создать новую таблицу с идентификатором, переместить данные, а затем отбросить старую таблицу и переименовать новую.

Я не могу говорить о том, как сделать это в MySQL.

Между прочим, ID это ужасное название для поля PK.Пожалуйста, используйте tablenameID.Вы избежите много случайных неудачных объединений и значительно упростите отчетность.

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