Autor Téma: MySQL pokud sloupec existuje...  (Přečteno 8945 krát)

Offline erdt.martin

  • Příspěvků: 35
  • Karma: 0
MySQL pokud sloupec existuje...
« kdy: 22-07-2012, 16:52:58 »
Zdravim panove,

chtel jsem se zeptat, jak v C#vytvorim sloupecek v tabulce, ale pouze pokud neexistuje? Dejme tomu, ze mam sloupecky A, C, D, E, G a chtel bych vytvorit A, B, F, ale pouze pokud neexistuji, takze to vytvori pouze B, F, protoze a jiz je vytvorene.
A pak jeste jedna vec, rad bych doplnoval pouze ty zaznamy, kde jsou prazdne sloupecky A,B,C, nebo alespon jeden z nich. Toto budu muset tedy nejak prochazet tu tabulku, zjistovat hodnoty 3 sloupcu a pokud budou null, tak zavolat metodu, co je vyplni nejakymi daty...

Offline TC

  • Příspěvků: 20
  • Karma: 1
Re:MySQL pokud sloupec existuje...
« Odpověď #1 kdy: 22-07-2012, 17:16:51 »
Zdravim panove,

chtel jsem se zeptat, jak v C#vytvorim sloupecek v tabulce, ale pouze pokud neexistuje? Dejme tomu, ze mam sloupecky A, C, D, E, G a chtel bych vytvorit A, B, F, ale pouze pokud neexistuji, takze to vytvori pouze B, F, protoze a jiz je vytvorene.
A pak jeste jedna vec, rad bych doplnoval pouze ty zaznamy, kde jsou prazdne sloupecky A,B,C, nebo alespon jeden z nich. Toto budu muset tedy nejak prochazet tu tabulku, zjistovat hodnoty 3 sloupcu a pokud budou null, tak zavolat metodu, co je vyplni nejakymi daty...

1. Otestujes tabulku a nema-li sloupec tak ho standardne vytvoris. Neni ti vice nez pet radku navic oproti nominalni situaci.

2. Udelas query a podle jejiho vysledku se zaridis. Neni ti vice nez pet radku navic oproti nominalni situaci.

Nyní jenom nezbývá než doufat, že slunéčko naše jasné, moderátor tohoto fóra,  nejvyšší osvícenost hlavní moderátor, a jeho všemocnost majitel fóra budou příznivě naloženi. Dojdou-li totiž k názoru, že publikovaná odpoveď je lepší než na jakou by se zmohlo slunéčko naše jasné moderátor tohoto fóra, nebo se nejvyšší osvícenost hlavní moderátor bude cítit ohrožen na mravnosti nestandardním slovem a nebo jeho všemocnost majitel fóra nebude spokojena s percepcí jeho fóra, tak ten příspěvek smažou.

Zdravim

TC

« Poslední změna: 22-07-2012, 19:00:00 od TC »

Offline Mi.Chal.

  • Moderátoři
  • Guru
  • *****
  • Příspěvků: 577
  • Karma: 25
Re:MySQL pokud sloupec existuje...
« Odpověď #2 kdy: 22-07-2012, 18:52:19 »
Zdravim panove,

chtel jsem se zeptat, jak v C#vytvorim sloupecek v tabulce, ale pouze pokud neexistuje? Dejme tomu, ze mam sloupecky A, C, D, E, G a chtel bych vytvorit A, B, F, ale pouze pokud neexistuji, takze to vytvori pouze B, F, protoze a jiz je vytvorene.
A pak jeste jedna vec, rad bych doplnoval pouze ty zaznamy, kde jsou prazdne sloupecky A,B,C, nebo alespon jeden z nich. Toto budu muset tedy nejak prochazet tu tabulku, zjistovat hodnoty 3 sloupcu a pokud budou null, tak zavolat metodu, co je vyplni nejakymi daty...

To nemá s C# moc společného, příště to dávej do databází.

Parodii moc neznám, ale obecně se to většinou dělá tak, že zjistíš ze systémového katalogu, jestli ten sloupec existuje. Některé db mají klauzuli if not exists, kterou plácneš za ten sql dotaz a sloupec se vytvoří jenom, pokud zatím neexistoval. Ukázku jak na to najdeš třeba na http://stackoverflow.com/questions/972922/add-column-to-mysql-table-if-it-does-not-exist

Offline erdt.martin

  • Příspěvků: 35
  • Karma: 0
Re:MySQL pokud sloupec existuje...
« Odpověď #3 kdy: 22-07-2012, 23:03:30 »
Myslim, ze ma... Myslel jsem, ze MySQL je bezne pouzivane v C#...
Nevim presne, ale stale se mi to nedari... Ostatne koukam, ze uz jste na tomto foru nejak nabrouseni, snad to neni mnou...

Offline Mi.Chal.

  • Moderátoři
  • Guru
  • *****
  • Příspěvků: 577
  • Karma: 25
Re:MySQL pokud sloupec existuje...
« Odpověď #4 kdy: 22-07-2012, 23:12:17 »
Myslim, ze ma... Myslel jsem, ze MySQL je bezne pouzivane v C#...

Běžně nevím. Osobně snad neznám žádnou horší databázi, pokud to vůbec budeme brát jako databázi, ale to je jiná diskuze.

Společného to moc nemá, protože to je typicky databázový problém, program v C# je jenom klient, který se k db připojuje. Tohle je asi jako kdyby ses ptal na fóru o autech, jak máš dělat kuřecí řízky a argumentoval tím, že sis je přivezl autem z obchodu :-).

Jinak nevím, co se ti nedaří, ale v tom linku, co jsem poslal, odpověď máš. Prostě si přes information schema zjisti, jestli už tam sloupec je a pokud ne, tak ho vytvoř. Obojí vyřešíš v rámci jednoho sql dotazu.

Nevim presne, ale stale se mi to nedari... Ostatne koukam, ze uz jste na tomto foru nejak nabrouseni, snad to neni mnou...

Proč myslíš? :-) Alespoň někdo sem chodí.