我的sql代码有问题。
我有一个表friends
,其中包含三列user1, user2, pending
。
user1
和user2
是数据类型int的主键。
phpmyadmin
会返回此错误:
MySQL说:#1064 - 你的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在#" Declare var int;附近使用正确的语法;设置var = SELECT COUNT(*)FROM friends WHERE((user1 = id1 A' at line 1
注意 - 我是通过phphmyadmin做的,所以我有 这是我的代码:
Declare var int;
Set var = SELECT COUNT(*) FROM friends WHERE ((user1 = id1 AND user2=id2) OR (user1 = id2 AND user2=id1));
IF var = 0
BEGIN
INSERT INTO friends
( user1, user2,pending)
VALUES (id1, id2,1);
Print 'Data now added.';
END
ELSE
BEGIN
Print 'Dah! already exists';
END
答案 0 :(得分:2)
尝试反转这两行:
...
declare @var int
AS
...
如下:
...
AS
declare @var int
...
答案 1 :(得分:0)
1)所有内容(包括声明)必须位于BEGIN ... END
块中。
2)您不需要(也不能)声明@session_veriables
,仅local_variables
。
3)缺少参数。必须在parantheses之间声明它们:proc_name(p1 INT, p2 INT)
4)所有陈述必须以;
5)整个程序应该包含在内:
DELIMITER ||
...
||
DELIMITER ;
除非您通过phpMyAdmin发送。