On Tue, Jan 27, 2009 at 5:24 PM, Boyd, Todd M. <tmbo...@ccis.edu> wrote:
>> -----Original Message-----
>> From: Chris [mailto:dmag...@gmail.com]
>> Sent: Tuesday, January 27, 2009 4:04 PM
>> To: Boyd, Todd M.
>> Cc: php-general@lists.php.net
>> Subject: Re: [PHP] Global Changes With Loop To Allow Nulls In A
>> Table...
>>
>>
>> >> The other responses should get you started if this is something you
>> >> really want to do. However, I'll play devil's advocate here and just
>> >> raise the question why you would want to make this change in the
>> first
>> >> place. I'm not quite as anti-NULL as a lot of arguments I've read
>> >> against them, but I tend to agree that the number of columns that
>> >> accept NULL values should be kept as small as possible. Even if you
>> >> decide that you need to allow NULL values in some cases, IMHO I
>> >> wouldn't write a script that ran through my entire database and
>> opened
>> >> every column in every table to accept.
>> >
>> > I just thought I'd throw this out there...
>> >
>> > A lot of people who post questions on this list are programming their
>> algorithms and structuring their applications in a certain way because
>> that's what the client wants, or that's what their boss told them to
>> do. Yes, accepting NULL values in a database is frowned upon (unless
>> the table is a transaction table)... but I doubt his boss or his client
>> cares in the least.
>>
>> I don't understand what you mean about a "transaction table" - you
>> should only use nulls if you understand what they do and why you'd need
>> them in that particular case. I'd ask why and find specifically what
>> they want/why they suggested it and make sure they understand the
>> repercussions.
>
> A transaction table -- a table that is used to house the state of a 
> transaction. If the transaction is incomplete, some of its values will be 
> NULL. This is, of course, only one method for employing a transaction system. 
> There exist others that use many disparate tables for separate steps in the 
> transaction, but I've seen several that use one table with NULL columns for 
> steps that haven't yet been processed.
>
>
> // Todd
>

Even so - I would think it undesirable (and dangerous) for EVERY
column (including primary/foreign keys) in EVERY table to allow NULL
values. Granted, I don't know the nature of the project here, nor the
problem being addressed. I just wanted to raise a flag noting that
this MAY not be a great idea in the event a self-described "newbie"
hadn't considered the potential pitfalls he could be introducing.

Andrew

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to