Autor Zpráva
joe
Profil
Ahoj,

jen se chci ujistit, pokud vložím dva a více řádků do tabulky, kde je sloupec id autoincrement, půjdou ty id vždycky po sobě? Kdyby se náhodou stejná věc na dvou různých pc provedla ve stejnou dobu, aby nedošlo k tomu, že se z prvního pc vloží jeden řádek a z druhého taky například.

A jestli je nějaký rozdíl mezi zápisem (pominu-li rychlost vkládání pokud by bylo velmi hodně řádků)

INSERT INTO table VALUES ("val", "val", "val");
mysql_query...
INSERT INTO table VALUES ("val", "val", "val");
mysql_query...

a

INSERT INTO table VALUES ("val", "val", "val"), ("val", "val", "val");
mysql_query...

Neřešil by druhý způsob id, které by šly na 100 % za sebou?

Díky
Hugo
Profil
Řešil.
Joker
Profil
Každopádně by to mělo řešit LOCK/UNLOCK tables, http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html
DoubleThink
Profil *
Každopádně by to mělo řešit LOCK/UNLOCK
U auto increment zbytečné.

kde je sloupec id autoincrement, půjdou ty id vždycky po sobě?
Ano, server vyřizuje požadavky s frontovou disciplinou FIFO. Nemůžou proběhnout dva zároveň. Něco jiného je samozřejmě, kdybys číslování dělal sám a operaci rozložil do více dotazů.
joe
Profil
Hugo
Ok.

Joker
O zamykání jsem už taky četl, zatím jsem to nikdy nepoužil, tak třeba někdy jindy :-)

DoubleThink
s frontovou disciplinou FIFO
Ok, dobré vědět, ale přecejenom i když je FIFO, nic nebrání tomu, aby se vložil první řádek od PC1, druhý řádek od PC2...

Teď když to píšu, tak si uvědomuju, jestli jsem to pochopitelně vysvětlil. Potřebuji, abych měl dva řádky pod sebou od PC1, takže řešení asi bude jen ten druhý způsob, který potvrdil Hugo.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0