insert delayed problem

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

dev8
Average Member
Mesaje: 50
Membru din: Mie Iun 02, 2004 12:03 am

insert delayed problem

Mesajde dev8 » Mar Dec 20, 2005 12:41 am

salut,

am o buba: un ciclu while in care la fiecare pas fac cate un insert sau update, in functie de existenta acelui produs (chestie, orice) intr-o tabela.

deci ciclul ia dintr-un camp (dintr-un formular) un sir de produse. am facut acest mic script pt a prelua usor cu copy-paste niste "inventare" facute aiurea in care sunt de-a valma, din fericire in word si cu virgula intre ele. asadar, daca intalnesc un produs nou, fac insert, daca intalnesc unul deja inserat, fac update, setez total=total+1. sper ca am fost cat de cat clar.

deoarece pe acea tabela se lucreaza deja din cadrul siteului, am ales sa fac INSERT DELAYED, pt a nu interfera cu selecturile clientilor de pe site si pt a nu se corupe tabela datorita altor deleteuri etc de la altii.

unde apare problema: daca 2 produse apar consecutiv, prima data fiind chiar prima oara si trebuie insert delayed, de f multe ori ma trezesc ca produsul este bagat de 2 ori. este din cauza de delayed ? adik dupa ce am dat insertul, trece asa repede la urmatorul produs, selectul nu-l gaseste inca bagat in tabela ? deja este o curiozitate tehnica :) daca sunt 3-4 produse consecutive, se intampla chiar si al 3-lea sa intre pe insert (al 4-lea pe update).

daca nu m-am facut inteles, ask me si o sa raspund :)

ps: eu insertul si updateul le fac direct

mysql_query("....");

adik nu $x=mysql_query...; if(!$x) etc. conteaza ?



strategy
Senior Member
Mesaje: 351
Membru din: Vin Noi 19, 2004 2:03 pm
Localitate: Oradea

Mesajde strategy » Mar Dec 20, 2005 8:39 am

pai .. banuiesc ca fiecare produs are un id unic incrementat .. nu poti sa ai ID-uri redundante .. nu poti sa ai 2 produse cu acelasi id, adica degeaba se face de 2 ori acealsi insert ca al 2-lea nu intra in bd, da eroare. asta daca ii cum am zis io
that's why it just said "don't underestimate PHP." it didn't say "use php always" : )

dev8
Average Member
Mesaje: 50
Membru din: Mie Iun 02, 2004 12:03 am

Mesajde dev8 » Mar Dec 20, 2005 1:14 pm

e cu auto-increment, fiecarui produs i se aloca id nou

strategy
Senior Member
Mesaje: 351
Membru din: Vin Noi 19, 2004 2:03 pm
Localitate: Oradea

Mesajde strategy » Mar Dec 20, 2005 1:55 pm

that's why it just said "don't underestimate PHP." it didn't say "use php always" : )


Înapoi la “MySQL”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori