[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с логикой БД
BlackGhost
Делаю курсовик через PHP + MySQL.

В база есть таблица spec (специальности с полями id и name) и таблица students, одно из полей которой specID (id специальности), по которому подставляется значение из таблицы spec.

Проблема в следующем: Если я удалю из какую-нибудь специальность из spec, я хочу, чтобы в таблице students при выборке в поле специальность было написано "не определена". Я пробовал до удаления специальности из spec, в таблице Students specID приравнивать к 0. запросом

UPDATE students SET specID='0' WHERE id=".$_GET[spec_id_del]; 



и удалять запись из spec

А потом средствами PHP выводить на экран, например, "Не определено", если specId=0

но когда делаю выборку из students поля с нулевыми значениями не выбираются....
Может подскажите какое-нибудь решение
Winston
Цитата (BlackGhost @ 5.12.2012 - 13:19)
но когда делаю выборку из students поля с нулевыми значениями не выбираются....

Покажи как делаешь выборку



Спустя 1 минута, 26 секунд Winston написал(а):
Цитата (BlackGhost @ 5.12.2012 - 13:19)
Я пробовал до удаления специальности из spec, в таблице Students specID приравнивать к 0. запросом

Для этого есть внешние ключи.
killer8080
Цитата (BlackGhost @ 5.12.2012 - 14:19)
Я пробовал до удаления специальности из spec, в таблице Students specID приравнивать к 0. запросом

UPDATE students SET specID='0' WHERE id=".$_GET[spec_id_del];


Это можно сделать одним запросом
UPDATE `students` 
SET `specID` = 0
WHERE `specID` NOT IN (SELECT `id` FROM `spec`)
dron4ik
specId=0
specID='0'

_____________
Ex3m.com.ua — Активный образ жизни
Valick
dron4ik, specID по идее должно быть int, так что без кавычек

_____________
Стимулятор ~yoomoney - 41001303250491
Valick
BlackGhost, у вас каждый студент может иметь только одну специальность?

_____________
Стимулятор ~yoomoney - 41001303250491
killer8080
Valick
видимо да
dron4ik
Valick
Я не про кавычки... Покаж таблицу.

_____________
Ex3m.com.ua — Активный образ жизни
Быстрый ответ:

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