Autor Zpráva
MaK
Profil
Mám seznam identifikátoru (id) jako textový řetězec, seřazený od "nejdůležitějšího" id:

480758,467487,516597,490257,697997,2023235,...

Potřebuju tento seznam "prohnat" několika tabulkami, ale zachovat pořadí. Asi takhle:

CREATE TABLE t1
(
    i                INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    id                INTEGER UNSIGNED NOT NULL,
    PRIMARY KEY (i) USING BTREE
);

INSERT INTO t1(id)
VALUES (480758),(467487),(516597),(490257),(697997),(2023235),...

SELECT *
FROM t1
JOIN tableA USING(id)
JOIN tableB USING(...)
WHERE ...
ORDER BY t1.i ASC

Vkládá INSERT řádky v pořádí takovém, jak jsou v sql dotazu uvedeny?

MaK
Kajman
Profil
Očekával bych, že ano. Máš důvod k podezření, že se tak neděje?
MaK
Profil
Kajman:
Podezření nemám, ale ani jistotu. Nikde v popisu INSERTu jsem o tom nenašel zmínku.
Zechy
Profil
MaK:
Je snad důvod si nezkusit v databázi zadat pár zkušebních insertů, jestli se pořadí opravdu zachová?
Já jsem si teda nikdy nevšim, že multiple insert by nedodržel vkládané pořadí.

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: