Bekijk Volledige Versie : INSERT SELECT
Ik heb twee tabellen. Nu wil ik uit de ene table de data naar de andere
table kopieren (via INSERT SELECT en zo dus) alleen wil ik naast de data uit
de table waaruit ik selecteer ook de tijd toevoegen in de doeltable (dus
veld uit table 1, veld2 uit table 1, tijdstip). Alleen hoe doe ik dat? Kan
dat ook met de insert select syntaxis?
--
Slechte webdesigners? Geef ze hier aan:
http://webdesignert.vectoris.nl/
Daniel Tryba
02/08/03, 17:30
Rick <spammans@chello.nl> wrote:
> Ik heb twee tabellen. Nu wil ik uit de ene table de data naar de andere
> table kopieren (via INSERT SELECT en zo dus) alleen wil ik naast de data uit
> de table waaruit ik selecteer ook de tijd toevoegen in de doeltable (dus
> veld uit table 1, veld2 uit table 1, tijdstip). Alleen hoe doe ik dat? Kan
> dat ook met de insert select syntaxis?
Dat is wellicht afhankelijk van je database engine en de opzet van je
tabel. Stel je hebt mysql en in detabel bevindt zicht een TIMESTAMP, dan
zal je waarschijnlijk niets hoeven te doen aangezien een TIMESTAMP zo
gedefineerd is dat indien die bij een insert of update NULL is de waarde
de huidige tijd (now()+0) zal zijn.
--
Daniel Tryba
"Daniel Tryba" <news_nl.internet.www.server-side@canopus.nl> schreef in
bericht news:bggl8e$nbr$1@news.tue.nl...
> Rick <spammans@chello.nl> wrote:
> > Ik heb twee tabellen. Nu wil ik uit de ene table de data naar de andere
> > table kopieren (via INSERT SELECT en zo dus) alleen wil ik naast de data
uit
> > de table waaruit ik selecteer ook de tijd toevoegen in de doeltable (dus
> > veld uit table 1, veld2 uit table 1, tijdstip). Alleen hoe doe ik dat?
Kan
> > dat ook met de insert select syntaxis?
>
> Dat is wellicht afhankelijk van je database engine en de opzet van je
> tabel. Stel je hebt mysql en in detabel bevindt zicht een TIMESTAMP, dan
> zal je waarschijnlijk niets hoeven te doen aangezien een TIMESTAMP zo
> gedefineerd is dat indien die bij een insert of update NULL is de waarde
> de huidige tijd (now()+0) zal zijn.
>
Dus in mysql zou je op die wijze eenvoudig de tijd er bij kunnen doen, das
mooi :). En als je eventueel nog een anderekolom erbij wilt voegen?
--
Slechte webdesigners? Geef ze hier aan:
http://webdesignert.vectoris.nl/
I <bggmg2$28c1$1@nl-news.euro.net>, Rick skrev:
>> [snip]
> Dus in mysql zou je op die wijze eenvoudig de tijd er bij kunnen doen, das
> mooi :). En als je eventueel nog een anderekolom erbij wilt voegen?
Wat wil je precies doen? Vaak zijn zulke dingen prima scriptbaar.
mvrgr, Wouter
--
:wq mail uws@xs4all.nl
just a little strength in our hearts :: enough to heal -- heather nova
I <bggl8e$nbr$1@news.tue.nl>, Daniel Tryba skrev:
> Rick <spammans@chello.nl> wrote:
>> Ik heb twee tabellen. Nu wil ik uit de ene table de data naar de andere
>> table kopieren (via INSERT SELECT en zo dus) alleen wil ik naast de data uit
>> de table waaruit ik selecteer ook de tijd toevoegen in de doeltable (dus
>> veld uit table 1, veld2 uit table 1, tijdstip). Alleen hoe doe ik dat? Kan
>> dat ook met de insert select syntaxis?
>
> Dat is wellicht afhankelijk van je database engine en de opzet van je
> tabel. Stel je hebt mysql en in detabel bevindt zicht een TIMESTAMP, dan
> zal je waarschijnlijk niets hoeven te doen aangezien een TIMESTAMP zo
> gedefineerd is dat indien die bij een insert of update NULL is de waarde
> de huidige tijd (now()+0) zal zijn.
^^\
\
+--- Waarom die +0 eigenlijk? Is het niet zo
now() ook al een geschikte INT teruggeeft?
mvrgr, Wouter
--
:wq mail uws@xs4all.nl
just a little strength in our hearts :: enough to heal -- heather nova
"uws" <uws@xs4all.invalid> schreef in bericht
news:im-a-msgid-virus-20030802-185626@uwsworld.xs4all.nl...
> I <bggmg2$28c1$1@nl-news.euro.net>, Rick skrev:
> >> [snip]
> > Dus in mysql zou je op die wijze eenvoudig de tijd er bij kunnen doen,
das
> > mooi :). En als je eventueel nog een anderekolom erbij wilt voegen?
>
> Wat wil je precies doen? Vaak zijn zulke dingen prima scriptbaar.
>
> mvrgr, Wouter
>
kort gezegd: de ene inhoud van de table naar de andere table kopieren en in
de andere table een waarde aan een veld toevoegen (en dit veld bestaat niet
in de eerste tabel)
Slap uitgetekend komt dit op dit neer:
(table1: veld 1, veld2) --> (table2: veld1, veld2, andere value)
En de andere value is bijvoorbeeld 2. Nou kan ik na de update natuurlijk een
update draaien op alles wat NULL is, maar ik doe liever alles in 1 query.
--
Slechte webdesigners? Geef ze hier aan:
http://webdesignert.vectoris.nl/
Daniel Tryba
05/08/03, 00:30
Rick <spammans@chello.nl> wrote:
>> > Ik heb twee tabellen. Nu wil ik uit de ene table de data naar de andere
>> > table kopieren (via INSERT SELECT en zo dus) alleen wil ik naast de data
> uit
>> > de table waaruit ik selecteer ook de tijd toevoegen in de doeltable (dus
>> > veld uit table 1, veld2 uit table 1, tijdstip). Alleen hoe doe ik dat?
> Kan
Barf, je indenting is stuk
>> > dat ook met de insert select syntaxis?
[knip]
> Dus in mysql zou je op die wijze eenvoudig de tijd er bij kunnen doen, das
> mooi :). En als je eventueel nog een anderekolom erbij wilt voegen?
De syntax is 'INSERT [LOW_PRIORITY] [IGNORE] [INTO] tbl_name [(column
list)] SELECT ...'
Je kunt dus gewoon 'SELECT *, bar as foo ...' doen, maar dat mag je zelf
testen.
> --
^ je signature seperator is stuk
[knip sig]
--
Daniel Tryba
Daniel Tryba
05/08/03, 00:45
uws <uws@xs4all.invalid> wrote:
>> gedefineerd is dat indien die bij een insert of update NULL is de waarde
>> de huidige tijd (now()+0) zal zijn.
> ^^\
> \
> +--- Waarom die +0 eigenlijk? Is het niet zo
> now() ook al een geschikte INT teruggeeft?
Neen, maar als je de documentatie erop zou hebben nageslagen zou je het
zelf hebben kunnen opzoeken:
<q src='http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Date_and_time_functions'>
NOW()
SYSDATE()
CURRENT_TIMESTAMP
Returns the current date and time as a value in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether the function is used in a string or numeric context:
mysql> SELECT NOW();
-> '1997-12-15 23:50:26'
mysql> SELECT NOW() + 0;
-> 19971215235026
Note that NOW() is only evaluated once per query, namely at the start of query execution. This means that multiple references to NOW() within a single query will always give the same time.
</q>
--
Daniel Tryba