Solved

Strange MySQL behavior

Posted on 2014-01-11
4
391 Views
Last Modified: 2014-01-12
I have a table called BridgeResponse for poll-type answers of questions.


Table BridgeResponse
 
Field              Type         Null    Key
ResponseID int(10)      NO    PRI   auto_increment
QuestionID tinyint(4)   YES   MUL
Ordered tinyint(4)        YES
AnswerText varchar(256) YES
AnswerCount tinyint(4)  YES



Suddenly, my INSERTs of new answers are going to the wrong question id.

The table data looked like this when the problem started.


452  126  1  Very Good  0
453  126  2  Good  0
454  126  3  Fair  0
455  126  4  Poor  0
456  127  1  Very Good  0

Now suddenly every insert insists on using QuestionID 127.


INSERT INTO BridgeResponse Values('',128,1,'Test',0)
Result: Success

gives me

467  127  1  Test  0

and another try

INSERT INTO BridgeResponse Values('',128,2,'Test2',0)
Result: Success

468  127  2  Test2  0

This is happening exactly the same in my phpmyadmin program and in the php script that is supposed to add these new answers.  I echoed out the $questionid from the php script and it was correct before and after the mysql_query insert, so it has to be the database itself, not the code.

Any idea what might be happening here?
0
Comment
Question by:yodercm
  • 2
4 Comments
 
LVL 34

Accepted Solution

by:
Dan Craciun earned 500 total points
Comment Utility
That's exactly how it should behave.

You declared QuestionID as TINYINT, which goes from -128 to 127, so everything bigger than 127 will be stored as 127.

HTH,
Dan
0
 
LVL 34

Expert Comment

by:Dan Craciun
Comment Utility
For the sake of completeness, the m in TINYINT(m) is used only for display purposes, does not affect the range.

So your code (tinyint(4)) asked the applications to display that value using 4 characters and left padding with spaces as needed.

https://dev.mysql.com/doc/refman/5.0/en/numeric-type-attributes.html
0
 
LVL 82

Expert Comment

by:Dave Baldwin
Comment Utility
Yep ^^^ what Dan said.
0
 
LVL 27

Author Comment

by:yodercm
Comment Utility
Doh.  

Thanks so much to both of you.  Sometimes fresh eyes see better ....
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Introduction In this installment of my SQL tidbits, I will be looking at parsing Extensible Markup Language (XML) directly passed as string parameters to MySQL 5.1.5 or higher. These would be instances where LOAD_FILE (http://dev.mysql.com/doc/refm…
I use MySQL for many of my development projects in a Windows environment. To manage my databases (and perform queries) for years I used a tool called MySQL administrator.  This tool has since been replaced by MySQL Workbench. So I decided to m…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now