/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
mysql trigger
Fra : none


Dato : 08-01-08 00:22

Hej
Jeg kæmper med lidt med mysql om at få lov til at lave en TRIGGER. Det
lykkedes ikke rigtigt, den siger jeg har en syntaks fejl men jeg kan
ikke finde den.

CREATE TRIGGER member_after_update
AFTER UPDATE ON test.test
FOR EACH ROW
BEGIN
INSERT INTO test.test
SET id='64', start='123', stop='999', vaerdi='insert'
END;//

 
 
Michael Zedeler (08-01-2008)
Kommentar
Fra : Michael Zedeler


Dato : 08-01-08 10:28

none wrote:
> Hej
> Jeg kæmper med lidt med mysql om at få lov til at lave en TRIGGER. Det
> lykkedes ikke rigtigt, den siger jeg har en syntaks fejl men jeg kan
> ikke finde den.
>
> CREATE TRIGGER member_after_update
> AFTER UPDATE ON test.test
> FOR EACH ROW
> BEGIN
> INSERT INTO test.test
> SET id='64', start='123', stop='999', vaerdi='insert'
> END;//

Så havde det jo været rart at få fejlbeskeden bragt her, men mon ikke du
blot mangler et semikolon efter 'insert'?

Mvh. Michael.

Torben Simonsen (08-01-2008)
Kommentar
Fra : Torben Simonsen


Dato : 08-01-08 11:09

Michael Zedeler <michael@zedeler.dk> writes:

> none wrote:
>> Hej
>> Jeg kæmper med lidt med mysql om at få lov til at lave en
>> TRIGGER. Det lykkedes ikke rigtigt, den siger jeg har en syntaks
>> fejl men jeg kan ikke finde den.
>>
>> CREATE TRIGGER member_after_update
>> AFTER UPDATE ON test.test
>> FOR EACH ROW
>> BEGIN
>> INSERT INTO test.test
>> SET id='64', start='123', stop='999', vaerdi='insert'
>> END;//
>
> Så havde det jo været rart at få fejlbeskeden bragt her, men mon ikke
> du blot mangler et semikolon efter 'insert'?

Jeg kender ikke mysql's variant af procedure-sql (jeg er mere Firebird-
mand), men umiddelbart ser det også ud til at være en meget mystisk
form for INSERT-sætning. INSERT sammen med SET? Normalt tillades SET
da kun i UPDATE, eller har mysql nogle særheder her?

En mere normal INSERT-syntaks ville være:

INSERT INTO tabelnavn (kolonne1, kolonne2, ...) VALUES (værdi1, værdi2, ...);

--
-- Torben.

Carsten Jantzen (08-01-2008)
Kommentar
Fra : Carsten Jantzen


Dato : 08-01-08 23:16

On Tue, 08 Jan 2008 11:08:43 +0100, Torben Simonsen wrote:

> Michael Zedeler <michael@zedeler.dk> writes:
>
>> none wrote:
>>> Hej
>>> Jeg kæmper med lidt med mysql om at få lov til at lave en TRIGGER. Det
>>> lykkedes ikke rigtigt, den siger jeg har en syntaks fejl men jeg kan
>>> ikke finde den.
>>>
>>> CREATE TRIGGER member_after_update
>>> AFTER UPDATE ON test.test
>>> FOR EACH ROW
>>> BEGIN
>>> INSERT INTO test.test
>>> SET id='64', start='123', stop='999', vaerdi='insert' END;//
>>
>> Så havde det jo været rart at få fejlbeskeden bragt her, men mon ikke
>> du blot mangler et semikolon efter 'insert'?
>
> Jeg kender ikke mysql's variant af procedure-sql (jeg er mere Firebird-
> mand), men umiddelbart ser det også ud til at være en meget mystisk form
> for INSERT-sætning. INSERT sammen med SET? Normalt tillades SET da kun i
> UPDATE, eller har mysql nogle særheder her?
>
> En mere normal INSERT-syntaks ville være:
>
> INSERT INTO tabelnavn (kolonne1, kolonne2, ...) VALUES (værdi1, værdi2,
> ...);

Jeg manglende semikolon efter det første statement.

CREATE TRIGGER member_after_update
AFTER UPDATE ON test.test
FOR EACH ROW
BEGIN
INSERT INTO test.test
SET id='64', start='123', stop='999', vaerdi='insert';
END;

Tak
/Carsten

Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407944
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste