В настоящее время у меня есть столбец таблицы с ограничением текста 255 (Varchar [255]), я бы хотел, чтобы количество символов увеличилось до 4000 или более. Каким был бы код, если бы проходил через страницу PHP, чтобы сделать эту модификацию?
Примечание * — я изменил столбец с varchar(100)
в varchar(255)
кажется, что мои столбцы не могут превышать varchar
из 255
,
Пока я использовал это — увы, это не работает:
<?php
$dbhost = 's036';
$dbuser = 'rost';
$dbpass = 'rosword';
$conn=mssql_connect('smtscom','sTrsr','Rsa');
mssql_select_db('Gsa',$conn);
if(! $conn )
{
die('Could not connect: ' . mssql_get_last_message());
}
echo 'Connected successfully';
$sql = "ALTER TABLE new_tders2 ALTER
COLUMN description varchar(4000)";
mssql_select_db('Gsa');
$retval = mssql_query( $sql, $conn );
if(! $retval )
{
die('Could not create table:');
}
echo "Table column modified successfully\n";
mssql_close($conn);
?>
Когда я запускаю страницу PHP (код выше), она говорит: «Столбец таблицы успешно изменен», но я все еще могу ввести в столбец только 255 символов.
Я понял это — вместо того, чтобы использовать VARCHAR(4000)
использовать TEXT
, Будет превышать 4000
символов, и позволяют до 64 Кбайт, 2 байта служебных данных. Однако в моем случае это нормально, так как для этой части сайта более 4000 символов.
Вот новый (рабочий) код:
<?php
$dbhost = 's036';
$dbuser = 'rost';
$dbpass = 'rosword';
$conn=mssql_connect('smtscom','sTrsr','Rsa');
mssql_select_db('Gsa',$conn);
if(! $conn )
{
die('Could not connect: ' . mssql_get_last_message());
}
echo 'Connected successfully';
$sql = "ALTER TABLE new_tders2 ALTER
COLUMN description TEXT";
mssql_select_db('Gsa');
$retval = mssql_query( $sql, $conn );
if(! $retval )
{
die('Could not create table:');
}
echo "Table column modified successfully\n";
mssql_close($conn);
?>
Спасибо всем тем, кто пытался ответить.
Других решений пока нет …