Хорошо, у меня есть таблица разрешений, в которой число столбцов может колебаться. На странице есть панель навигации, которая зависит от этой таблицы. Некоторые люди могут видеть некоторые модули, некоторые из них не могут, и т.д. То, что я хотел стянуть выбирают все столбцы, где значение не 0.MySQLВыберите все столбцы, где значение не равно 0
table modperm
uid 1234
module1 0
module2 2
module3 1
module4 0
module5 0
module6 1
...
...
...
Есть ли способ сделать что-то вроде
SELECT * FROM `modperm` WHERE `uid`='1234' AND value<>0
Это та точка, где вы обнаружите, что это действительно ужасно схема работать с и что ассоциация «один-ко-многим» Пользователь tween и разрешения сделали бы это очень легким. Вы нарушили правило [Zero, One или N] (http://en.wikipedia.org/wiki/Zero_one_infinity_rule). – tadman
Читайте о нормализации базы данных. – hjpotter92
Строго говоря, это возможно, присоединяясь к системным таблицам в базе данных information_schema. Но редизайн будет гораздо лучшей идеей. У вас есть таблица модулей и таблица людей, а затем таблица ссылок со строкой для каждой комбинации человек/модуль, которая допустима. – Kickstart