ugrás a tartalomhoz

Új tábla létehozása értékadással MySQL-ben

Anonymous · 2005. Nov. 29. (K), 10.43
Sziasztok! hogy lehet azt megcsinálni, hogy amikor létrehozok egy új táblát, akkor ne kelljen külön csinálnom egy szkriptet, ami megadja a legelső értéket, hanem legyen rögtön egy alapértelmezett sor?
 
1

Tarolt eljarasok

janoszen · 2005. Nov. 29. (K), 11.33
Miert faj neked, hogy egy kulon Insert query-t kell csinalnod? Egyebkent meg lasd tarold eljarasok.
2

create table as select

Hojtsy Gábor · 2005. Nov. 29. (K), 22.12
Nos, ha nagyon akarod, akkor meg tudod csinálni create table as select használatával, persze akkor nem igazán tudod megadni az adattípusokat, vagy legalábbis nagyon trükkösnek kell lenni. Példa:

mysql> create table proba as select 'Kovacs' as vezeteknev, 'Istvan' as keresztnev, 1978 as szuletes;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> select * from proba;
+------------+------------+----------+
| vezeteknev | keresztnev | szuletes |
+------------+------------+----------+
| Kovacs     | Istvan     |     1978 |
+------------+------------+----------+
1 row in set (0.00 sec)

mysql> explain proba;
+------------+-----------+------+-----+---------+-------+
| Field      | Type      | Null | Key | Default | Extra |
+------------+-----------+------+-----+---------+-------+
| vezeteknev | char(6)   |      |     |         |       |
| keresztnev | char(6)   |      |     |         |       |
| szuletes   | bigint(4) |      |     | 0       |       |
+------------+-----------+------+-----+---------+-------+
3 rows in set (0.00 sec)


Kétlem, hogy te ezt szeretnéd, bár ha egy létező adathalmazon megfogalmazható lekérdezés alapján szeretnéd létrehozni az új táblát, akkor szerencséd van, mert akkor átveszi a lekérdezés eredményében előálló típusokat az új táblához a MySQL.

Fent csak tippel a megadott adatok alapján. Ha a fenti példát kiterjesztve szeretnéd, hogy ne csak tippeljen, akkor a CAST függvények és operátorok közül tudsz válogatni, amik segítenek a megfelelő típusra kényszeríteni egy értéket, hogy tényleg olyan oszlopot vegyen fel a MySQL. De ezutóbbi tényleg nagyon barkács megoldás, semmiféle komoly alkalmazásban nincs helye szerintem.
3

Az jó ha csinálsz előre egy .sql fájlt?

Jano · 2005. Nov. 29. (K), 23.02
Megoldás lehet ha csinálsz előre egy .sql fájlt amibe szépen beleírod SQL szintakszissal előszőr a tábla létrehozását, aztan a betöltő inserteket.

Végül amikor kell a tábla akkor csak betolod pl parancssorból a fájlt.
4

re

Anonymous · 2006. Jan. 17. (K), 20.53
Köszi mindenkinek a fáradozást!
A második válasz tetszett a legjobban, de a többiből is tanultam ;)