|
|
|
|
|
для: куч1963
(15.04.2010 в 16:57)
| | не ставьте телегу впереди лошади.
Сперва модель задачи - потом схема БД , структура таблицы - потом уже запрос. | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 15:07)
| | Результат echo query
REPLACE INTO score values('23', '17', '27', '', NOW(), '1', 'Y', 'Y')
|
Меня интересует использование типов полей в случае такого запроса.
Какое предпочтительней TINYINT (3) или CHAR (3)?
В случае с TINYINT NOT NULL или DEFAULT NULL? | |
|
|
|
|
|
|
|
для: куч1963
(15.04.2010 в 14:50)
| | Вот при таких значениях можно сделать не mysql_query($query) , а echo $query; и показать тут текст.
Но и сейчас видно, что по какой то странной причне Вы все параметры полей, в том числе и числовые , записываете в апострофах, то есть не числами, а строками.
Этим Вы запутываете себя - не сервер БД. | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 14:39)
| | Прошу прощения. Вот при таких значениях , в поле score прописывается 0, который вроде как бы мне там и не нужен.
$id_gr = 23;
$id_gr = 17;
$ocenka = "";
$id_prepod = 1;
$dopusk = "Y";
$zachet = "Y";
$query= "REPLACE INTO score values('$st_id',
'$id_gr',
'$id_event',
'$ocenka',
NOW(),
'$id_prepod',
'$dopusk',
'$zachet')";
mysql_query($query);
|
| |
|
|
|
|
|
|
|
для: куч1963
(15.04.2010 в 14:34)
| | >При проведении занятия может выставляться три параметра
У mysql_query() нет трех параметров. Грубо говоря - только один. Сформированный текст запроса. | |
|
|
|
|
|
|
|
для: куч1963
(15.04.2010 в 14:34)
| | сразу.
Это не запрос - это обрывок.
Грязный обрывок, Вы даже "двойные кавычки убрали, значения $переменных при этом не подставив"
Пардон. открывающую кавычку . Все равно грязный. Тем более грязный. | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 14:15)
| | Собственно сам запрос
REPLACE INTO score values('$st_id',
'$id_gr',
'$id_event',
'$ocenka',
NOW(),
'$id_prepod',
'$dopusk',
'$zachet')";
|
Теперь небольшое пояснение
При проведении занятия может выставляться три параметра
dopusk - принимает значение P и Y то есть, допущен к выполнению дальнейшей работы или просто присутствовал -не прогул.
Если получен допуск, то другой вариант описывает - zachet, который принимает значение Y/N, то есть выполнена работа или не выполнена. Если работа выполнена, то идет защита, результат которой уже вводится в поле score в виде переменной ocenka.
В результате пирамида, может быть получен допуск и выполнена работа, но не защищена, то есть, оценка не выставлена. | |
|
|
|
|
|
|
|
для: куч1963
(15.04.2010 в 13:47)
| | Вы не привели запрос, который, по Вашему мнению, добавляя запись, таки не размещает информацию.
PS.
Ах, да.
>Но при записи, не размещаю в нем информацию, то есть есть вариант, когда это поле просто не заполняется.
>В этом случае, какой вариант предпочтительней NOT NULL или DEFAULT NULL
NOT NULL Вам просто не позволит создать запись, не поместив в поле хоть что-то.
DEFAULT NULL конечно. | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 13:15)
| | Объясните мне пожалуйста такой момент
если я определяю тип поля как
`score` tinyint(3) NOT NULL
|
Но при записи, не размещаю в нем информацию, то есть есть вариант, когда это поле просто не заполняется.
В этом случае, какой вариант предпочтительней
или
Чтобы не было проблем с последующей сортировкой данных по этому столбцу. | |
|
|
|
|
|
|
|
для: куч1963
(15.04.2010 в 13:05)
| | если поле свободно - значит информация в нем неизвестна.
Если Вы допускаете появление такого состояния поля, его нужно описывать как NULL
TINYINT(3) NULL | |
|
|
|
|