taigi, iškyla bėdos su duomenų patikrinimu. turiu dvi lenteles.
pagrindinę, kurios duomenis reikia check'int
+--------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| game | int(11) | NO | MUL | | |
| ticket | int(11) | NO | MUL | | |
| price | int(11) | NO | | | |
| money | int(11) | NO | | | |
| addon | varchar(255) | NO | | | |
+--------+--------------+------+-----+---------+----------------+
ir tą laikiną, pagal kurios duomenis tikrinama:
+--------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| game | int(11) | NO | MUL | | |
| ticket | int(11) | NO | MUL | | |
| price | int(11) | NO | | | |
| money | int(11) | NO | | | |
| addon | varchar(255) | NO | | | |
+--------+--------------+------+-----+---------+----------------+
kaip matot struktūra identiška, tik tiek, kad antroj lentelėj yra ~120000 įrašų, o pirmoj ~4 milijonai.
nežinau, kaip padaryti tokį fintą. teoriškai, visi įrašai kurie įra toj antrojoj laikinoj lentelėj, turėtų būti ir pirmojoj. tai man ir reikia patikrinti, ar tikrai taip yra.
tą aš darau taip:
SELECT * FROM tickets_temp AS prim
INNER JOIN tickets AS sec
ON sec.game=prim.game AND sec.ticket!=prim.ticket AND sec.price!=prim.price AND sec.money!=prim.money
WHERE prim.game='$dl'
$dl yra nurodomas konkretus skaičius, o id nesvarbu isvis. šios užklausos man neįvykdo, scriptas nulūžta. šitą tikrinimą darau atskiram scripte, tad ten atmintis tkitiem darbam tikrai nenaudojama, problema tik šioje užklausoje. kaip galima būtų ją pakeisti?
Su sąlyga, kad šūdo nebus...