wegschrijven in tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rolllluf

rolllluf

10/12/2007 20:08:00
Quote Anchor link
Mijn probleem is alsvolgt:

Ik heb 100000 carriers verdeeld over 5 tabellen. Hier onder staat een stukje script voor het wegschrijven ervan.
Maar dit is niet goed. Het is de bedoeling dat de nummers 1 t/m 20000 in tabel carrier1 komen en de nummers 20001 t/m 40000 in tabel carrier2 komen enz enz.

Hoe kan ik dat in dit onderstaande script opvangen?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

if(isset($_POST['submit']))
{


    $carrier_id=$_POST['id'];
    $aantal = $_POST['aantal'];
    $rest = substr ($carrier_id, 1);
    
        
    mysql_query("UPDATE carrier1 SET gescand = ".(1)." WHERE carrier_id = $rest")or die(mysql_error());
        
}
else{
?>
 
PHP hulp

PHP hulp

25/04/2024 09:28:25
 
Frank -

Frank -

10/12/2007 20:45:00
Quote Anchor link
Quote:
Mijn probleem is alsvolgt:

Ik heb 100000 carriers verdeeld over 5 tabellen.
Dat is inderdaad mooi omschreven, dat is inderdaad een groot probleem.

Gelukkig is het ook eenvoudig op te lossen: Ze alle carriers in 1 tabel.

Ga normaliseren, dat is de basis voor een goede database. Jouw huidige opzet zal voor heel veel problemen zorgen en nooit goed kunnen werken. En voordat je gaat roepen dat 100000 records wel heel erg veel is, een miljoen records meer of minder mag voor een database niet uitmaken. Ook in MySQL maakt dat niet uit, daar loop je altijd het risico dat de database jouw data naar de bliksem helpt. Dat is een functionaliteit van de database, staat zelfs in de handleiding beschreven.
 
Crispijn -

Crispijn -

11/12/2007 01:11:00
Quote Anchor link
Staat in de mysql handleiding beschreven dat het naar de bliksem gaat Frank? Nu moet je niet overdrijven hoor...
 
PHP erik

PHP erik

11/12/2007 01:43:00
Quote Anchor link
Crispijn schreef op 11.12.2007 01:11:
Staat in de mysql handleiding beschreven dat het naar de bliksem gaat Frank? Nu moet je niet overdrijven hoor...
Dat staat er absoluut. MySQL biedt de service dat het delen van je data weggooit als je te veel hebt meegegeven zonder je hier überhaupt mee lastig te vallen. Wat een lieve database! Dat is net als dat je bij de bakker een broodje voor 2 euro koopt, afrekent met 50 euro en hij dan je resterende 48 euro zonder het te melden even in de afvalbak gooit. Dan zit je tenminste niet met al dat kleingeld :)
 
Crispijn -

Crispijn -

11/12/2007 08:07:00
Quote Anchor link
Broodje aap verhaal dus ;)
 
Frank -

Frank -

11/12/2007 10:10:00
Quote Anchor link
Crispijn schreef op 11.12.2007 01:11:
Staat in de mysql handleiding beschreven dat het naar de bliksem gaat Frank? Nu moet je niet overdrijven hoor...

En dan een stukje uit de handleiding over char's en varchar's:
Quote:
If strict SQL mode is not enabled and you assign a value to a CHAR or VARCHAR column that exceeds the column's maximum length, the value is truncated to fit and a warning is generated. For truncation of non-space characters, you can cause an error to occur (rather than a warning) and suppress insertion of the value by using strict SQL mode.
Kortom, wanneer je géén STRICT-mode gebruikt (en dat is helaas zelden het geval), zal MySQL keurig een deel van de data weggooien wanneer jij/de gebruiker teveel data in een veld probeert te stoppen.

De meeste problemen met MySQL zijn helemaal geen bugs, maar zijn functionaliteit van MySQL en zijn dan ook keurig beschreven. Dat jouw data naar de bliksem gaat, dat is jouw probleem en niet het probleem van jouw zogenaamde 'databases'.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.