I'm trying to work with variables inside a mysql statement and struggling.
I've got this at the moment...
SET @customer = 'UNKNOWN';
SET @customer = (SELECT account FROM contacts WHERE emailaddy = 'myemailaddress' LIMIT 1);
INSERT INTO cases
(customer, details,severity,currentowner,created,createdautomatically)
VALUES (@customer, 'This is a test case','SYS',now(),TRUE)
I'm getting 'Error. Parameter '@customer' must be defined'.
Can anyone point me in the right direction?
EDIT : After being told I was missing the declare, I've added this and I'm still getting the same error...
DECLARE @customer VARCHAR(200);
SET @customer = 'UNKNOWN';
SET @customer = (SELECT account FROM contacts WHERE emailaddr = 'myemailaddress' LIMIT 1);
INSERT INTO cases(customer, ....) VALUES (@customer, .....)
Error. Parameter '@customer' must be defined..
ANOTHER EDIT....
Still doesnt seem to be working correctly :(
DECLARE @customer VARCHAR(200);
SET @customer := 'UNKNOWN';
SET @customer := (SELECT account FROM contacts WHERE email = 'me');
INSERT INTO cases (customer, ...) VALUES (@customer, '...')
Error. Parameter '@customer' must be defined..
DECLARE @customer <datatype>somewhere before youSETit.INSERT INTOyou have 6 columns defined but passing only 5 values for the same. Hopeseverity's equivalent value is not passed.