[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: обнуление части таблицы
Гость_Дима
Есть в sql-базе таблица ТT, у которой много строк и много полей. Нужно значения во всех строках для всех полей (кроме первых трех полей) поставить значение NULL. Как это проще сделать в php, если дополнительно известно (вдруг это поможет?), что NULL-ями нужно сделать только те поля, которые в принципе по умолчанию могут быть NULL (при создании таблицы в mysql первые три поля отмечались опцией NOT NULL)?



Спустя 6 минут, 25 секунд (31.03.2012 - 21:01) inpost написал(а):
Сделай все NULL, а потом первые 3: ORDER BY `id` LIMIT 3 - установи NOT NULL.

Спустя 11 минут, 30 секунд (31.03.2012 - 21:12) Гость_Дима написал(а):
Цитата (inpost @ 31.03.2012 - 18:01)
Сделай все NULL, а потом первые 3: ORDER BY `id` LIMIT 3 - установи NOT NULL.

Странный ответ... какое он отношение миеет к вопросу - вообще не понимаю. Обнулять нужно значения всех полей, которые можно обнулить, т.е. все, кроме первых трех. Полей, а не строк.

Спустя 1 час, 6 минут, 27 секунд (31.03.2012 - 22:19) Placido написал(а):
Есть команды (делают почти одно и тоже, а последние две - синонимы)
DESCRIBE `имя таблицы`;
SHOW COLUMNS FROM `имя таблицы`;
SHOW FIELDS FROM `имя таблицы`;

С помощью одного из них получаем информацию о всех полях
$result = mysql_query('DESCRIBE `имя таблицы`') or die ...
while($row = mysql_fetch_assoc) {...

получаем массив с ключами
$row[][Field]
$row[][Type]
$row[][Null]
$row[][Key]
$row[][Default]
$row[][Extra]

далее делаем, что нам нужно. Например, обновляем только те поля, где $row[][Null] == 'YES'. Или поля с именами $row[1][Field], $row[2][Field], $row[3][Field].

Спустя 2 часа, 3 минуты, 42 секунды (1.04.2012 - 00:23) Гость_Дима написал(а):
Ага, оно. Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.