|
| 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
| |
|
|