| Autor | Zpráva | ||
|---|---|---|---|
| xlifer Profil |
#1 · Zasláno: 2. 3. 2011, 16:48:49 · Upravil/a: xlifer
Je možné vložit "smazaný" záznam z db na stejnou pozici (resp. totožné ID) u tabulky kde je primární klíč ID generován přes auto_increment ?
Příklad: INSERT INTO tabulka VALUES('', 'data'); // bude přiděleno ID = 1; INSERT INTO tabulka VALUES('', 'data); // bude přiděleno ID = 2; INSERT INTO tabulka VALUES('', 'data); // bude přiděleno ID = 3; atd. Následně dojde ke smazání záznamu ID = 2. Je možné tento záznam znovu vložit pod ID = 2, když už je počítadlo auto_incrementu nastaveno na ID = 3 (resp. +1 =4) a musí být pro dalši vkladání zachované, aby správně "auto inrementovalo" ? |
||
| TomášK Profil |
#2 · Zasláno: 2. 3. 2011, 17:07:52
xlifer:
Nebylo by jednodušší to vyzkoušet než sepisovat dotaz? :-) Pokud si dobře pamatuju, tak to jde bez problémů, auto_increment se použije jen pro inserty, které nemají specifikované id. |
||
| jenikkozak Profil |
#3 · Zasláno: 2. 3. 2011, 17:20:05
xlifer:
Používat smazané id je považováno spíše za zbytečnost. |
||
| xlifer Profil |
#4 · Zasláno: 2. 3. 2011, 17:21:11 · Upravil/a: xlifer
TomášK:
To jsem zkoušel, ale vždy mi to vytvořilo nový záznam, tak jsem dělal někde něco špatně... A pokud bych zavolal INSERT s ID, které je vyplněno a již existuje, tak se to zachová jak? Vytvoří automaticky nové ID nebo skončí chybou? |
||
| xlifer Profil |
#5 · Zasláno: 2. 3. 2011, 17:24:26
jenikkozak:
Ano, to je pravda, ale v případech kdy není žádná další vazba okolních tabulek by to němělo ničemu vadit. |
||
| jenikkozak Profil |
#6 · Zasláno: 2. 3. 2011, 17:40:45
xlifer:
„ale v případech kdy není žádná další vazba okolních tabulek by to němělo ničemu vadit.“ Tak když na tom tak trváš, tak si to udělej, já osobně ti snad v cestě nestojím. |
||
| Joker Profil |
#7 · Zasláno: 2. 3. 2011, 18:29:30
xlifer:
„Ano, to je pravda, ale v případech kdy není žádná další vazba okolních tabulek by to němělo ničemu vadit.“ Jestli se ten identifikátor někde používá pro identifikaci daného záznamu, je potenciálně nebezpečné ho recyklovat. Jestli má záznam identifikátor který se nikde nepoužívá, celý ten sloupec bych zrušil, je zbytečný. |
||
|
Časová prodleva: 15 let
|
|||
0