我正在尝试使用mysql语句中的变量并且很挣扎。

我现在有这个...

 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)


我收到“错误。必须定义参数“ @customer”。

谁能指出我正确的方向?

编辑:在被告知我缺少声明之后,我添加了这个并且我仍然遇到相同的错误...

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


另一个编辑

似乎仍然无法正常工作:(

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

最佳答案

问题是第一行

mysql> select "sss" into @customer;
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO funding(dONATUR) VALUES (@customer);
Query OK, 1 row affected (0.09 sec)

mysql> SELECT * FROM funding WHERE Donatur='sss';
+------+--------+---------+
| area | client | Donatur |
+------+--------+---------+
| NULL | NULL   | sss     |
+------+--------+---------+
1 row in set (0.00 sec)

关于mysql - 在相同的mysql语句中创建,设置然后使用变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38106706/

10-13 09:12
查看更多