我在學生服務器上有一個數據庫,如果我想使用SQL服務器DBMS訪問數據庫屬性,我需要去我的大學,這很痛苦。我想知道是否可以通過在特定表上使用SQL來更改身份規範?我不能插入到表中,因爲這沒有選擇是的,我希望能夠從家中進行這些更改,我可以這樣做嗎?我可以在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不改變任何表格屬性。這僅僅意味着你的會話可以在「身份」列中插入一個明確的值。你是否試圖改變一個沒有「身份」的專欄來擁有「身份」?如果是這樣,請參閱[在創建表後沒有任何數據丟失的情況下如何設置自動增量](http://stackoverflow.com/q/6084572/73226) – 2012-04-29 11:57:46