学生用サーバーにデータベースがありますが、SQLサーバーDBMSを使用してデータベースプロパティにアクセスするには私の大学に行く必要がありますが、それは苦痛です。特定のテーブルでSQLを使用してIDの仕様を変更できるかどうかを知りたいですか?これは選択されていないのでテーブルに挿入できません。私はこれを行うことができますか、家からこれらの変更を加えることができますか?SQL Server 2008のSQL構文でテーブルのプロパティを変更できますか?
私はテーブルにアクセスし、いくつかのプロパティを変更する方法を研究しており、このような何かに出くわした:
Set IDENTITY_INSERT TableName ON
私はこのように、PHPスクリプトといくつかのSQLを使用して、これを行うことができるようにしたい:
$query = "IDENTITY_INSERT customers ON ";
$result = sqlsrv_query($conn, $query, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET));
if($result === false)
{
echo "Error in query preparation/execution.\n";
die(print_r(sqlsrv_errors(), true));
}
else
{
echo'worked';
}
これは機能しますか?ここで
は、これを行うに私のラフな試みです:
<?php
$serverName = "servername";
$connectionInfo = array("UID" => "username", "PWD" => "password", "Database"=>"database");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn === false) // note the format of ‘equals’
{
echo "Could not connect.\n";
die(print_r(sqlsrv_errors(), true));
}
$query = "SET IDENTITY_INSERT customers ON ";
$result = sqlsrv_query($conn, $query, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET));
if($result === false)
{
echo "Error in query preparation/execution.\n";
die(print_r(sqlsrv_errors(), true));
}
else
{
echo'worked';
}
?>
ありがとうございました。
'SET IDENTITY_INSERT'はテーブルプロパティを変更しません。あなたのセッションが明示的な値を 'identity'カラムに挿入できることを意味します。 'identity'を持たないカラムを' identity'を変更しようとしていますか?そうなら[データを失うことなくテーブルを作成した後に自動インクリメントを設定する方法は?](http://stackoverflow.com/q/6084572/73226) –