Ako ukladat do 2x INDEXU – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ako ukladat do 2x INDEXU – MySQL – Fórum – Programujte.comAko ukladat do 2x INDEXU – MySQL – Fórum – Programujte.com

 

marioff0
Expert
8. 10. 2010   #1
-
0
-

Mam v tabulke index INDEX na dvoch stlpcoch naraz (id + id_produktu) a pri vkladani zaznamu s rovnakym obsahom (pomocou php - mysqli_query) ako uz existuje v stlpci id_produkt nic nevlozi, ani mysqli_error nic nevyhodi, avsak po odmazani riadku s rovnakou hodnotou sa zaznam vlozi... pri vkladani cez phpmyadmin pri existencii rovnakeho zaznamu, sa rovnaky zaznam ako davam cez php bez problemov ulozi... proste sa mi to sprava v php ako keby bol nad tym jednym stplcom unique

nerozumiem tomuto spravaniu... alebo robim nieco zle?

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
8. 10. 2010   #2
-
0
-

no pokud si dal primary tak to je tez unikatni.. ale normalni index se tak chovat nema...

kdyztak dej export tabulky at vidime jak to doopravdy vypada

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
8. 10. 2010   #3
-
0
-

je tam len index...

CREATE TABLE IF NOT EXISTS `kosik` (
`iid` int(10) unsigned NOT NULL,
`iid_produkt` int(10) unsigned NOT NULL,
`iid_produkt_atribut` int(10) unsigned NOT NULL,
`quantity` int(10) unsigned NOT NULL,
`datum` datetime NOT NULL,
KEY `cart_produkt_index` (`iid`,`iid_produkt`),
KEY `id_produkt_atribut` (`iid_produkt_atribut`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci;

--
-- Sťahujem dáta pre tabuľku `kosik`
--

INSERT INTO `kosik` (`iid`, `iid_produkt`, `iid_produkt_atribut`, `quantity`, `datum`) VALUES
(15, 30, 0, 4, '2010-10-08 18:46:37'),
(15, 28, 0, 3, '2010-10-08 18:46:39'),
(15, 29, 0, 2, '2010-10-08 18:29:30');


Vypis klucov:

Akcia Kľúčový názov Typ Unikátny Packed Pole Mohutnosť Zotriedenie Nulový Comment
cart_produkt_index BTREE Nie Nie iid 0 A
iid_produkt 0 A
id_produkt_atribut BTREE Nie Nie id_produkt_atribut 0 A

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
8. 10. 2010   #4
-
0
-

mysql> \u test

Database changed
mysql> show tables ;
Empty set (0.00 sec)

mysql> CREATE TABLE IF NOT EXISTS `kosik` (
-> `iid` int(10) unsigned NOT NULL,
-> `iid_produkt` int(10) unsigned NOT NULL,
-> `iid_produkt_atribut` int(10) unsigned NOT NULL,
-> `quantity` int(10) unsigned NOT NULL,
-> `datum` datetime NOT NULL,
-> KEY `cart_produkt_index` (`iid`,`iid_produkt`),
-> KEY `id_produkt_atribut` (`iid_produkt_atribut`)
-> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci;
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO `kosik` (`iid`, `iid_produkt`, `iid_produkt_atribut`, `quanti
ty`, `datum`) VALUES
-> (15, 30, 0, 4, '2010-10-08 18:46:37'),
-> (15, 28, 0, 3, '2010-10-08 18:46:39'),
-> (15, 29, 0, 2, '2010-10-08 18:29:30');
Query OK, 3 rows affected (0.05 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> INSERT INTO `kosik` (`iid`, `iid_produkt`, `iid_produkt_atribut`, `quanti
ty`, `datum`) VALUES
-> (15, 30, 0, 4, '2010-10-08 18:46:37'),
-> (15, 28, 0, 3, '2010-10-08 18:46:39'),
-> (15, 29, 0, 2, '2010-10-08 18:29:30');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> select * from kosik;
+-----+-------------+---------------------+----------+---------------------+
| iid | iid_produkt | iid_produkt_atribut | quantity | datum |
+-----+-------------+---------------------+----------+---------------------+
| 15 | 30 | 0 | 4 | 2010-10-08 18:46:37 |
| 15 | 28 | 0 | 3 | 2010-10-08 18:46:39 |
| 15 | 29 | 0 | 2 | 2010-10-08 18:29:30 |
| 15 | 30 | 0 | 4 | 2010-10-08 18:46:37 |
| 15 | 28 | 0 | 3 | 2010-10-08 18:46:39 |
| 15 | 29 | 0 | 2 | 2010-10-08 18:29:30 |
+-----+-------------+---------------------+----------+---------------------+
6 rows in set (0.02 sec)

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV
~ Moderátor
+43
God of flame
8. 10. 2010   #5
-
0
-

spis jeste mrknout na ten script v php

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
8. 10. 2010   #6
-
0
-

db_q("INSERT INTO shop.kosik (iid,iid_produkt,quantity,datum) VALUES (%1i,%2i,%3i,%4s)",$kod,$id,1,date('Y-m-d H:i:s'));

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
8. 10. 2010   #7
-
0
-

to je nejaka obdoba sprintf?
a co to vyflusne na databazi?

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
8. 10. 2010   #8
-
0
-

jaaaaaj sorry, to je moj db layer....

mam tam aj "testovaciu funkciu" ktora vypluva presny dotaz na db.. po upravach..

a to:

INSERT INTO shop.kosik (iid,iid_produkt,quantity,datum) VALUES ('18','9','1','2010-10-08 19:25:28')

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
8. 10. 2010   #9
-
0
-

To marioff : nemuze byt datum klicove slovo?
jinak netusim co by mohlo byt zle

EDIT: tak ne:

mysql> INSERT INTO kosik (iid,iid_produkt,quantity,datum) VALUES ('18','9','1',now());

ERROR 1364 (HY000): Field 'iid_produkt_atribut' doesn't have a default value

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
CZechBoY+4
Věrný člen
9. 10. 2010   #10
-
0
-

píše to že nemá výchozí hodnotu, takže to musíš buď zapsat v SQL dotazu nebo dát výchozí třeba 0, nebo něco (null třeba)

Nahlásit jako SPAM
IP: 213.192.10.–
marioff0
Expert
9. 10. 2010   #11
-
0
-

CZechBoY: uz som medzitym nastavil stlpcom aj defaultne hodnoty, aj skusil phpkom nakrmit vsetky.. a nic z toho...

KIIV: ved prave, netusim ani ja...

edit: sypem si popol na hlavu, aspon vedro... chyba bola o par riadkov v kode vyssie, kde sa rozhodovalo ci sa riadok ulozi alebo len updatuje, som zle urobil podmienku v sql dotaze tak ze vybrala riadok aj s inym stlpcom id, a v naslednom updatovani uz riadok nenaslo kedze malo ine id

heh, stava sa...

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý