SQL Server — MSSQL PHP не может удалить строки

Прежде всего извините за мой английский.
Я пытаюсь удалить / вставить несколько строк в таблицу MSSQL, но я не получаю ошибки, но это просто не работает. Но когда я делаю оператор SELECT, он тоже работает.

$dbhandle = mssql_connect("SERVERNAME", "username", "password") or die("Couldn't connect to SQL Server on $myServer");
$selected = mssql_select_db("myDB", $dbhandle) or die("Couldn't open database $myDB");
mssql_query("DELETE dbo.import");

Сервер SQL INSTANCE установлен на моем локальном компьютере, и я являюсь администратором этого SQL Server, но веб-сервер находится на другом ПК.
Я создал пользователя, и я назначил роль db_owner
Когда я пытаюсь выполнить тот же запрос на другом сервере SQL, он работает.

Я также попробовал:

$dbhandle = mssql_connect("SERVERNAME", "username", "password") or die("Couldn't connect to SQL Server on $myServer");
$selected = mssql_select_db("myDB", $dbhandle) or die("Couldn't open database $myDB");
$result = mssql_query("DELETE dbo.import; SELECT * FROM dbo.import;");
$sqlRows = array();
while($row = mssql_fetch_array($result))
{
$sqlRows[] = $row;
}
echo sizeof($sqlRows);

и эхо возвращает 0, но когда я проверяю из SSMS, записи все еще там.

 DELETE SCHEMA.TABLE; SELECT * FROM SCHEMA.TABLE;

возвращает 0 строк И тогда я пытаюсь снова

SELECT * FROM dbo.import;

возвращает 26 строк

3

Решение

РЕДАКТИРОВАТЬ 2

Решение было не совершенной транзакцией. Смотрите комментарии …

РЕДАКТИРОВАТЬ

Мой ответ не совсем к сути … Я должен признать, что я никогда не использовал DELETE без FROM, но это работает очевидно:

create table #tbl(id int);
insert into #tbl values(1),(2);
select * from #tbl;
delete #tbl;
select * from #tbl;
drop table #tbl;

Я дал ответ там из-за комментариев …

1

Другие решения

Хорошо, я только что нашел ответ в Интернете.
Был откат, как уже упоминалось Shnugo и добавление SET IMPLICIT_TRANSACTIONS OFF; в начале запроса это решит проблему.

Спасибо

2

По вопросам рекламы [email protected]