Jump to content

how to use enum parameters in mysql stored procedure


shadd
Go to solution Solved by shadd,

Recommended Posts

i have this procedure:

DELIMITER $$
CREATE PROCEDURE sp_add_user(IN inname text,IN insex tinytext)
	MODIFIES SQL DATA
BEGIN
set @newEanswer_sql=CONCAT('INSERT INTO user(fname,sex)values("',inname,'","',insex,'")'  );
			PREPARE snewEans_insert FROM @newEanswer_sql;
			EXECUTE snewEans_insert;
			DEALLOCATE PREPARE snewEans_insert;
	END$$
DELIMITER ;

when i run it like so:

call sp_add_user('pierre','');

it gives me the following error:

RETURNED_SQLSTATE MESSAGE_TEXT
01000 Data truncated for column 'sex' at row 1

here is table:

create table user
(
	userid	int unsigned not null auto_increment,
	fname  	text  ,
	
	sex  enum('male','female'),

	Primary key(userd)
);

 

how can i solve this??

Link to comment
Share on other sites

8 minutes ago, requinix said:

That procedure is wacky. Why is it trying to make a simple INSERT be so complicated? And so prone to not working?

The error is telling you, in a weird way that doesn't seem very obvious, that the value you used is not valid. Which it clearly isn't.

what if i need to account for null entries to this field

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.