Elsődleges kulcs probléma

Adatbázis kezelő

Elsődleges kulcs probléma

HozzászólásSzerző: Bendegúz » 2010. január 30., szombat 22:51

Sziasztok!
OOO3.2 RC4
BASE
Nem tudom feltűnt-e már, hogy a Base-ben ha egy mezőt elsődleges kulcsként jelölünk meg akkor lehetőség van az Automatikus értékadás beállítására (Index mező).
Ehhez a következő magyarázó szöveg tartozik:

"Jelölje ki, ha a mező automatikus növekménnyel kapja az értékét.
Az ilyen típusú mezőkbe nem vihető be adat, mert azok előző bejegyzéseik alapján növekvő számlálóból kapják értékeiket."


A probléma akkor kezdődik, ha ezt valaki el is hiszi!
Nálam zokszó nélkül megengedi ezen mezők megváltoztatását is! Az automatikusan generált értéket simán át lehet írni a tábla Megnyitás után.
Ez vajon hiba, vagy funkció???
Ha funkció, akkor eléggé el lett cseszerintve!
Windows Xp Sp3
Linux Mint 16
LibreOffice 4.1.x-től fölfele
Avatar
Bendegúz
Önkéntesek
 
Hozzászólások: 59
Csatlakozott: 2009. május 11., hétfő 12:55
Tartózkodási hely: Besenyszög

Re: Elsődleges kulcs probléma

HozzászólásSzerző: r4zoli » 2010. február 1., hétfő 19:31

Nálam zokszó nélkül megengedi ezen mezők megváltoztatását is! Az automatikusan generált értéket simán át lehet írni a tábla Megnyitás után.

Nem cél ennek a mezőnek a változatlansága.
Az alkalmazásának a célja egy olyan mezőt létrehozni, ami biztosítja a rekord egyediségét mégpedig úgy, hogy eggyel megnöveli az előző értéket, az adatbevitelt végzőtől függetlenül.
Ha te belepiszkálsz akkor a te felelősséged, hogy milyen adatot adsz meg.

De bármilyen értéket megadhatsz ami eddig nem foglalt.

A számozás újra kezdhető amúgy is SQL parancs segítségével (az Eszközök>SQL... parancsablakban megadva):
Kód: Egész kijelölése   KinyitásÖsszecsukás
ALTER TABLE "Tabla" ALTER COLUMN "ID"   RESTART WITH 0


Célszerű az űrlapnál ezt a mezőt nem felvenni a módosítható mezők közé.
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Bendegúz » 2010. február 2., kedd 11:15

Szia!
Nos ez az információ, ami a helyi súgóban van ennek ellentmondani látszik:
"Az ilyen típusú mezőkbe nem vihető be adat, mert azok előző bejegyzéseik alapján növekvő számlálóból kapják értékeiket."
Vagy ezt csak az Access kompatibilitás miatt hagyták benne?
Windows Xp Sp3
Linux Mint 16
LibreOffice 4.1.x-től fölfele
Avatar
Bendegúz
Önkéntesek
 
Hozzászólások: 59
Csatlakozott: 2009. május 11., hétfő 12:55
Tartózkodási hely: Besenyszög

Re: Elsődleges kulcs probléma

HozzászólásSzerző: r4zoli » 2010. február 2., kedd 13:51

Vagy ezt csak az Access kompatibilitás miatt hagyták benne?

Nem, alaphelyzetben, amire a Súgó is hivatkozik, amikor új rekordot adsz hozzá, nem tudod ezt a mezőt szerkeszteni.
Nem tudsz neki értéket adni, mert a rekord táblában való tárolásakor generálódik csak az értéke.
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Lopez » 2010. március 23., kedd 11:00

Olyan kérdésem van, hogy egy táblában nem lett beállítva az automatikus értékadás az ID mezőnek. Persze a tábla már össze van kapcsolva sok másikkal, rakás adat felvíve. Szeretném, ha automatikus értékadás lenne, de már nem lehetséges, hacsak nem új mezőt viszek föl. :crazy: Van erre megoldás?
Openoffice 3.1 Windows 7-en
Lopez
 
Hozzászólások: 13
Csatlakozott: 2010. február 16., kedd 9:17

Re: Elsődleges kulcs probléma

HozzászólásSzerző: r4zoli » 2010. március 23., kedd 14:05

Megoldható, de először készíts egy másolatot az adatbázisodról és azon próbálkozz:

Az Eszközök>SQL... ablakban add ki:
Kód: Egész kijelölése   KinyitásÖsszecsukás
SET REFERENTIAL_INTEGRITY FALSE

Ezzel ideiglenesen kikapcsolod a külső hivatkozások ellenőrzését, majd átállítod az alapbeállításokat:
Kód: Egész kijelölése   KinyitásÖsszecsukás
ALTER TABLE "Tabla" ALTER COLUMN "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY

Mindenképpen állítsd vissza, mert különben nem fog működni és nem lesz róla semmilyen vissza jelzés, hogy ki lett kapcsolva a figyelése:
Kód: Egész kijelölése   KinyitásÖsszecsukás
SET REFERENTIAL_INTEGRITY TRUE


A visszaállítást lekérdezések segítségével tudod leellenőrizni, vagy űrlappal amelyik lekérdezéseket használ az adatok előállításakor pl. listapanelt amelyik a hivatkozó/hivatkozott táblákhoz kapcsolódik.

Részletek: http://hsqldb.org/doc/guide/ch09.html#s ... nt-section
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Lopez » 2010. április 7., szerda 21:23

Nem megy. Ezt írja hibának: Wrong data type: GENERATED in statement [ALTER TABLE "Alvállalkozók" ALTER COLUMN "ID" GENERATED]
Talán az a baj, hogy már van benne adat?
Openoffice 3.1 Windows 7-en
Lopez
 
Hozzászólások: 13
Csatlakozott: 2010. február 16., kedd 9:17

Re: Elsődleges kulcs probléma

HozzászólásSzerző: r4zoli » 2010. április 7., szerda 21:39

Az "ID" típusa "Egész"?
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Lopez » 2010. április 12., hétfő 23:06

r4zoli írta:Az "ID" típusa "Egész"?


Igen, egész (integer, 10 hosszú).

Még egy gondom van az appenddel: kész táblába szeretnék pár plusz oszlopba adatokat vinni. Excelben elkészítettem a táblát, beillesztésnél kiválasztom, hogy hozzáfűzés, egybehozom a mezőket (felülírandó és az excel), majd rákérdez, hogy az id nem probléma e (bár az id-t nem akarom importálni). Mondom, hogy mehet, az ablak bezáródik, de semmi sem történik. A típusa a kérdéses oszlopoknak szám 15 hosszan, 3 tizedessel.
Openoffice 3.1 Windows 7-en
Lopez
 
Hozzászólások: 13
Csatlakozott: 2010. február 16., kedd 9:17

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Zizi64 » 2010. április 13., kedd 9:21

Üdv!

Nem akadékoskodni, hanem tanulni szeretnék: :)

Az "ID" típusa "Egész"?

Melyik "Egész" típus lehet az ID:
-32768...32767
-2147483648...2147483647
...esetleg Byte, Word stb. is?

Erre a Base_bevezető_3_1.pdf-ben sem találtam meg a választ, de lehet, hogy nem jól kerestem.
Sok sikert!
Kovács Tibor (Win7x64Prof/W10x64prof: LO6.1.6;
winPenPack/PortableApps: LO3.3.1-6.3.1, AOO4.1.6
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3468
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: r4zoli » 2010. április 13., kedd 13:55

@Lopez
Ha megadnád a tábla szerkezetét akkor többet tudnánk segíteni.

@Zizi64
Zizi64 írta:
Az "ID" típusa "Egész"?

Melyik "Egész" típus lehet az ID:
-32768...32767
-2147483648...2147483647
...esetleg Byte, Word stb. is?

Erre a Base_bevezető_3_1.pdf-ben sem találtam meg a választ, de lehet, hogy nem jól kerestem.

Nincs benne, de http://hsqldb.org/doc/guide/ch09.html#datatypes-section, segíthet de nekem nem sokat, nem ismerem ugyan is a java típusokat.
Van egy típus teszt adatbázisom amiből ezt ki lehet bogarászni, de 2MB nagyságú (raktam bele képeket és nem tudom kiszedni) és nem fér fel ide, de ha kell elküldöm.
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Zizi64 » 2010. április 13., kedd 17:03

Üdv!

ha kell elküldöm

Előre is köszönve, várom a fájlt a kovacs(pont)tibor64(kukac)gmail(pont)com címemre. Oda 2 MiB nagyságú fájlok be szoktak férni. A Base tanuláshoz nagyon jó lesz.
Sok sikert!
Kovács Tibor (Win7x64Prof/W10x64prof: LO6.1.6;
winPenPack/PortableApps: LO3.3.1-6.3.1, AOO4.1.6
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3468
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Lopez » 2010. április 14., szerda 11:57

r4zoli írta:@Lopez
Ha megadnád a tábla szerkezetét akkor többet tudnánk segíteni.


A hozzáfűzést megoldottam, az integritás kikapcsolásával kitöröltem a komplett táblát és feltöltöttem újra.
Az eredeti probléma viszont még nem oldódott meg. A tipust hogy írjam ide?
Az ID típusa Egész [INTEGER] Hosszúság 10-re beállítva.
Openoffice 3.1 Windows 7-en
Lopez
 
Hozzászólások: 13
Csatlakozott: 2010. február 16., kedd 9:17

Re: Elsődleges kulcs probléma

HozzászólásSzerző: r4zoli » 2010. április 14., szerda 13:35

Megvan a probléma oka, én hibáztam a példa parancsból kimaradt az "INTEGER" (az eredeti hozzászólást kijavítottam), ha azt beírod, akkor működnie kell.
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
Avatar
r4zoli
Site Admin
 
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Lopez » 2010. április 14., szerda 20:54

Sajnos most sem megy. Ezt kapom:
Column is referenced in constraint or view: SYS_REF_SYS_FK_82_101 in statement [ALTER TABLE "táblaneve" ALTER COLUMN "ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY]
A tábla nevében van ékezet, remélem nem ez a baj... Úgy értelmezem, hogy egy nézetben hivatkozok erre az ID mezőre. Nade előtte kikapcsoltam az integritást.
Openoffice 3.1 Windows 7-en
Lopez
 
Hozzászólások: 13
Csatlakozott: 2010. február 16., kedd 9:17

Re: Elsődleges kulcs probléma

HozzászólásSzerző: fat spider » 2011. május 23., hétfő 11:01

r4zoli írta:@Lopez
Ha megadnád a tábla szerkezetét akkor többet tudnánk segíteni.

@Zizi64
Zizi64 írta:
Az "ID" típusa "Egész"?

Melyik "Egész" típus lehet az ID:
-32768...32767
-2147483648...2147483647
...esetleg Byte, Word stb. is?

Erre a Base_bevezető_3_1.pdf-ben sem találtam meg a választ, de lehet, hogy nem jól kerestem.

Nincs benne, de http://hsqldb.org/doc/guide/ch09.html#datatypes-section, segíthet de nekem nem sokat, nem ismerem ugyan is a java típusokat.
Van egy típus teszt adatbázisom amiből ezt ki lehet bogarászni, de 2MB nagyságú (raktam bele képeket és nem tudom kiszedni) és nem fér fel ide, de ha kell elküldöm.



A válaszodban említett teszt adatbázist kérem én is az rdnmltn(kukac)gmail(pont)com-ra én is, tanulás miatt! :-)
Win 10, LibO verzió: 6.3.2.2 (x86)
fat spider
Önkéntesek
 
Hozzászólások: 207
Csatlakozott: 2010. május 17., hétfő 14:15
Tartózkodási hely: Debrecen

Re: Elsődleges kulcs probléma

HozzászólásSzerző: Zizi64 » 2011. május 23., hétfő 12:15

Üdv, fat spider!

Továbbítottam az eredeti fájlt a megadott címre!
Sok sikert!
Kovács Tibor (Win7x64Prof/W10x64prof: LO6.1.6;
winPenPack/PortableApps: LO3.3.1-6.3.1, AOO4.1.6
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3468
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Elsődleges kulcs probléma

HozzászólásSzerző: fat spider » 2011. május 23., hétfő 12:21

Zizi64 írta:Üdv, fat spider!

Továbbítottam az eredeti fájlt a megadott címre!


Nagyon köszönöm!!
Win 10, LibO verzió: 6.3.2.2 (x86)
fat spider
Önkéntesek
 
Hozzászólások: 207
Csatlakozott: 2010. május 17., hétfő 14:15
Tartózkodási hely: Debrecen


Vissza: Base

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 vendég

cron