Query voorkomt in databse
Quote:
Goed argument? Je doet het juist vreselijk fout. Een TEXT gebruik je alleen voor grote lappen tekst. De datatypen die jij nodig hebt zijn respectievelijk INT, DECIMAL (of INT) en VARCHAR. Niets anders...ik heb text gekozen omdat ik bij de andere een cijfer moest invullen of zow, een goed argument heb ik dus ^^.
Overigens zou ik je UNIQUE constraint niet ook de kolom 'cijfer' laten rusten. Doe je dat wel, dan kan een gebruiker nog steeds meerdere keren stemmen. Namelijk met elk verschillend cijfer een keer.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Peter schreef op 30.01.2008 21:27:
MySQL retourneerde: Documentatie
#1170 - BLOB/TEXT column 'id' used in key specification without a key length
#1170 - BLOB/TEXT column 'id' used in key specification without a key length
En dan uit de handleiding:
Quote:
Een TEXT-kolom is veel te groot om daar een complete index op te zetten. Vandaar dat je verplicht e.e.a. moet beperken en dus een lengte op moet geven.BLOB and TEXT columns also can be indexed, but a prefix length must be given.
Maar in dit geval is de keuze voor een TEXT gewoon fout. Weet je het al vast voor de volgende keer.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
maar ALTER TABLE tabelnaam ADD UNIQUE (id, ip) regelt dus alles toch?
kijkt of het waarde uniek is .. als het niet bestaat voegt ie het pas toe
Nee, het wijzigt eenmalig jouw tabel (deze query voer je dus maar 1x uit!!!!) en daarna wordt bij iedere INSERT of UPDATE automatisch gecontroleerd of je wel geldige data invoert. Dat is dus het voordeel van een constraint, die dwingt regels af. In dit geval de regel dat de combinatie van id en ip uniek moet zijn.
maar kan ik niet zoiets doen
tabel id rij 1 -> alle ip's die bij id 1 horen.
rij 2 => alle ip's die bij id 2 horen
zeg maar om niet steeds een id tabel aan te maken
want je zegt "id en ip uniek moet zijn."
Peter schreef op 31.01.2008 15:45:
Nee, daarmee help je het hele idee van een relationele database om zeep. Ga bv. maar eens zoeken op een ip-adres, je zult in een record moeten gaan spitten in de ip's die daarin voorkomen. Dat is geen doen.hmm okee
maar kan ik niet zoiets doen
tabel id rij 1 -> alle ip's die bij id 1 horen.
rij 2 => alle ip's die bij id 2 horen
zeg maar om niet steeds een id tabel aan te maken
want je zegt "id en ip uniek moet zijn."
maar kan ik niet zoiets doen
tabel id rij 1 -> alle ip's die bij id 1 horen.
rij 2 => alle ip's die bij id 2 horen
zeg maar om niet steeds een id tabel aan te maken
want je zegt "id en ip uniek moet zijn."
Ga eens tellen hoeveel verschillende ip-adressen hebben gereageerd, dat is wederom geen doen, zul je in php moeten uitvogelen.
Nee, dat wordt niks, niet doen.