Nieuwe kolom toevoegen aan tabel
Hopelijk kunnen jullie mijn vraag beantwoorden.
Ik wil een nieuwe kolom toevoegen aan een bestaande tabel in een database die in verbinding staat met een PHP script.
Ik ben echter bang dat als ik deze nieuw kolom toevoeg dat ik dan foutmeldingen krijg met de INSERTS van de desbetreffende tabel.
voorbeeld INSERT:
Code (php)
1
2
2
$query = "INSERT INTO `onderdelen` ( `od_cat_id` , `od_naam` , `od_gewicht` , `od_afbeelding` , `od_leverancier` , `od_aanbiedingstekst` , `od_timestamp`) "
. " VALUES ( '$od_cat_id' , '$od_naam' , '$od_gewicht' , '$od_afbeelding' , '$od_leverancier' , '$od_aanbiedingstekst' , NOW());";
. " VALUES ( '$od_cat_id' , '$od_naam' , '$od_gewicht' , '$od_afbeelding' , '$od_leverancier' , '$od_aanbiedingstekst' , NOW());";
Alvast bedankt,
Als ik zo zie zal je hier geen problemen mee krijgen. Zolang je alle velden in je INSERT specificeert, dan kan je gewoon velden aanmaken.
Het probleem is dus dat deze in veel verschillende script wordt aangeroepen (SELECT) en wordt opslagen (INSERT)
Je zult dus minimaal 1 query moeten wijzigen (Tenzij je echt niets wilt doen met het toe te voegen veld).
Als je je huidige insert-query die hierboven staat als voorbeeld intact laat, zal die geen probleem geven: je benoemt de velden en wat er ingezet moet worden. Waarom zou je daar een probleem mee krijgen?
Hetzelfde geldt voor andere query's; die worden zonder problemen uitgevoerd.
Maar als je iets met je nieuwe veld wilt doen, zul je ergens iets moeten benoemen/vullen. PHP kan niet zo maar voor jou bedenken dat een query gewijzigd moet worden.
Oke bedankt voor jullie duidelijk uitleg!!
Obelix en Idefix op 03/08/2014 22:07:17:
Als je je huidige insert-query die hierboven staat als voorbeeld intact laat, zal die geen probleem geven: je benoemt de velden en wat er ingezet moet worden. Waarom zou je daar een probleem mee krijgen?
Als je de nieuwe kolom aanmaakt met een NOT NULL toevoeging en geen DEFAULT waarde spcificeert dan krijg je wel degelijk een foutmelding, of in elk geval een warning. Daar moet je dus wel over nadenken.