Error con SQL #1064 - You have an error in your SQL syntax;
Publicado por ocb (1 intervención) el 04/05/2018 18:28:26
Hola tengo este problema con el SQL y la verdad yo no se mucho de sql , supongo que sera facil solucionarlo si entiendes de SQL , pero no tengo el conocimiento.
Yo primero creo la base de datos y todo eso con este codigo (supongo que no es necesario que ponga esto pero bueno lo pongo por las dudas) :
El problema es cuando pongo este otro codigo:
Haber si alguien sabe como solucionarlo , gracias
1
2
3
4
5
6
7
8
9
10
Error
SQL query:CREATE DEFINER = `root`@`localhost` PROCEDURE oxide.claim_donation(
IN email_address VARCHAR( 255 )
) BEGIN SET email_address = REPLACE( email_address, '@@', '@' ) ;
MySQL said:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4Yo primero creo la base de datos y todo eso con este codigo (supongo que no es necesario que ponga esto pero bueno lo pongo por las dudas) :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE IF NOT EXISTS oxide.ibn_table (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`itransaction_id` VARCHAR(60) NOT NULL,
`ipayerid` VARCHAR(60) NOT NULL,
`iname` VARCHAR(60) NOT NULL,
`iemail` VARCHAR(60) NOT NULL,
`itransaction_date` DATETIME NOT NULL,`ipaymentstatus` VARCHAR(60) NOT NULL,
`ieverything_else` TEXT NOT NULL,`item_name` VARCHAR(255) DEFAULT NULL,
`claimed` INT(11) NOT NULL DEFAULT '0',
`claim_date` DATETIME DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=MYISAM AUTO_INCREMENT=9 DEFAULT CHARSET=LATIN1;
El problema es cuando pongo este otro codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE DEFINER=`root`@`localhost` PROCEDURE oxide.claim_donation(IN email_address VARCHAR(255))
BEGIN
set email_address = REPLACE(email_address,'@@','@');
set @ID = (
select IBN.idfrom oxide.ibn_table as IBNwhere IBN.iemail = email_address
and IBN.claimed = 0
and IBN.claim_date IS NULLand IBN.ipaymentstatus = "Completed"
ORDER BY IBN.itransaction_date DESCLIMIT 1);UPDATE oxide.ibn_tableSET claimed = 1, claim_date = NOW()
WHERE id = @ID;select IBN.item_namefrom oxide.ibn_table as IBNwhere IBN.id = @ID;
END
Haber si alguien sabe como solucionarlo , gracias
Valora esta pregunta


0
