How to store answers in tall and narrow MySQL table The Next CEO of Stack OverflowWhich MySQL data type to use for storing boolean valuesHow to output MySQL query results in CSV format?How do I connect to a MySQL Database in Python?How to get a list of MySQL user accountsInsert into a MySQL table or update if existsMySQL relational tables and Primary Keys data typesHow to reset AUTO_INCREMENT in MySQL?How to get the sizes of the tables of a MySQL database?How to import an SQL file using the command line in MySQL?SQL create table and set auto increment value without Alter table

Math-accent symbol over parentheses enclosing accented symbol (amsmath)

Chain wire methods together in Lightning Web Components

0 rank tensor vs 1D vector

What happened in Rome, when the western empire "fell"?

Is a distribution that is normal, but highly skewed considered Gaussian?

Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis

Yu-Gi-Oh cards in Python 3

RigExpert AA-35 - Interpreting The Information

Why doesn't UK go for the same deal Japan has with EU to resolve Brexit?

Why don't programming languages automatically manage the synchronous/asynchronous problem?

Which one is the true statement?

How to count occurrences of text in a file?

Proper way to express "He disappeared them"

Find non-case sensitive string in a mixed list of elements?

Would a completely good Muggle be able to use a wand?

Solving system of ODEs with extra parameter

Why is information "lost" when it got into a black hole?

TikZ: How to reverse arrow direction without switching start/end point?

Domestic-to-international connection at Orlando (MCO)

Running a General Election and the European Elections together

Is it professional to write unrelated content in an almost-empty email?

Help understanding this unsettling image of Titan, Epimetheus, and Saturn's rings?

Why isn't acceleration always zero whenever velocity is zero, such as the moment a ball bounces off a wall?

Axiom Schema vs Axiom



How to store answers in tall and narrow MySQL table



The Next CEO of Stack OverflowWhich MySQL data type to use for storing boolean valuesHow to output MySQL query results in CSV format?How do I connect to a MySQL Database in Python?How to get a list of MySQL user accountsInsert into a MySQL table or update if existsMySQL relational tables and Primary Keys data typesHow to reset AUTO_INCREMENT in MySQL?How to get the sizes of the tables of a MySQL database?How to import an SQL file using the command line in MySQL?SQL create table and set auto increment value without Alter table










0















I'm designing a database to store questions and answers. I am planning on having 5 tables: quiz, question, userAnswer and multipleChoice



quiz:



quizID (int)(primary key) Auto Increment
quizName (varchar)


question:



questionID (int)(primary key) Auto Increment
quizID (Foreign Key)
question (varchar)
questionType (enum) textbox, multiple choice, int, date, decimal, email, ...


users:



userID (int)(primary key) Auto Increment
firstname (varchar)
surname (varchar)
...
...


userAnswers:



questionID (Foreign Key)
userID (Foreign Key)
answerText
answerDec
answerDate
answerInt

PRIMARY KEY(questionID, userID)


multipleChoice



choiceID (int)(primary key) Auto Increment
questionID (Foreign Key)
choiceText (varchar)


My problem lies with the answer table, some answers will be free form text, some decimals, and some integers (foreign keys)



How do I approach this? Do I have 4 columns, 1 for each type? If so, how do I efficiently select the correct one of 3 when retrieving the answers, I would like to do as much of the "heavy lifting" in SQL as I can, without having to use PHP to generate dynamic queries.










share|improve this question
























  • Maybe my english is too bad or I'm just a noob.. But what are "firing keys" and "heavy lifting" (in this context)?

    – Paul Spiegel
    Mar 7 at 17:06












  • You have 4 tables. The first thing you do is to define the relationship between those tables. Read this. stackoverflow.com/help/how-to-ask

    – Eric
    Mar 7 at 17:41











  • Firing keys was an auto complete issue, should have been foreign keys. As for heavy lifting, it means hard work, I would like to use SQL to retrieve the data in 1 go, instead of getting the table type, then having a switch statement in PHP to choose which column for a second query. I will update my question with more information on how the tables are structured shortly.

    – mike16889
    Mar 7 at 23:46















0















I'm designing a database to store questions and answers. I am planning on having 5 tables: quiz, question, userAnswer and multipleChoice



quiz:



quizID (int)(primary key) Auto Increment
quizName (varchar)


question:



questionID (int)(primary key) Auto Increment
quizID (Foreign Key)
question (varchar)
questionType (enum) textbox, multiple choice, int, date, decimal, email, ...


users:



userID (int)(primary key) Auto Increment
firstname (varchar)
surname (varchar)
...
...


userAnswers:



questionID (Foreign Key)
userID (Foreign Key)
answerText
answerDec
answerDate
answerInt

PRIMARY KEY(questionID, userID)


multipleChoice



choiceID (int)(primary key) Auto Increment
questionID (Foreign Key)
choiceText (varchar)


My problem lies with the answer table, some answers will be free form text, some decimals, and some integers (foreign keys)



How do I approach this? Do I have 4 columns, 1 for each type? If so, how do I efficiently select the correct one of 3 when retrieving the answers, I would like to do as much of the "heavy lifting" in SQL as I can, without having to use PHP to generate dynamic queries.










share|improve this question
























  • Maybe my english is too bad or I'm just a noob.. But what are "firing keys" and "heavy lifting" (in this context)?

    – Paul Spiegel
    Mar 7 at 17:06












  • You have 4 tables. The first thing you do is to define the relationship between those tables. Read this. stackoverflow.com/help/how-to-ask

    – Eric
    Mar 7 at 17:41











  • Firing keys was an auto complete issue, should have been foreign keys. As for heavy lifting, it means hard work, I would like to use SQL to retrieve the data in 1 go, instead of getting the table type, then having a switch statement in PHP to choose which column for a second query. I will update my question with more information on how the tables are structured shortly.

    – mike16889
    Mar 7 at 23:46













0












0








0


2






I'm designing a database to store questions and answers. I am planning on having 5 tables: quiz, question, userAnswer and multipleChoice



quiz:



quizID (int)(primary key) Auto Increment
quizName (varchar)


question:



questionID (int)(primary key) Auto Increment
quizID (Foreign Key)
question (varchar)
questionType (enum) textbox, multiple choice, int, date, decimal, email, ...


users:



userID (int)(primary key) Auto Increment
firstname (varchar)
surname (varchar)
...
...


userAnswers:



questionID (Foreign Key)
userID (Foreign Key)
answerText
answerDec
answerDate
answerInt

PRIMARY KEY(questionID, userID)


multipleChoice



choiceID (int)(primary key) Auto Increment
questionID (Foreign Key)
choiceText (varchar)


My problem lies with the answer table, some answers will be free form text, some decimals, and some integers (foreign keys)



How do I approach this? Do I have 4 columns, 1 for each type? If so, how do I efficiently select the correct one of 3 when retrieving the answers, I would like to do as much of the "heavy lifting" in SQL as I can, without having to use PHP to generate dynamic queries.










share|improve this question
















I'm designing a database to store questions and answers. I am planning on having 5 tables: quiz, question, userAnswer and multipleChoice



quiz:



quizID (int)(primary key) Auto Increment
quizName (varchar)


question:



questionID (int)(primary key) Auto Increment
quizID (Foreign Key)
question (varchar)
questionType (enum) textbox, multiple choice, int, date, decimal, email, ...


users:



userID (int)(primary key) Auto Increment
firstname (varchar)
surname (varchar)
...
...


userAnswers:



questionID (Foreign Key)
userID (Foreign Key)
answerText
answerDec
answerDate
answerInt

PRIMARY KEY(questionID, userID)


multipleChoice



choiceID (int)(primary key) Auto Increment
questionID (Foreign Key)
choiceText (varchar)


My problem lies with the answer table, some answers will be free form text, some decimals, and some integers (foreign keys)



How do I approach this? Do I have 4 columns, 1 for each type? If so, how do I efficiently select the correct one of 3 when retrieving the answers, I would like to do as much of the "heavy lifting" in SQL as I can, without having to use PHP to generate dynamic queries.







mysql data-structures






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 8 at 0:28







mike16889

















asked Mar 7 at 16:52









mike16889mike16889

9018




9018












  • Maybe my english is too bad or I'm just a noob.. But what are "firing keys" and "heavy lifting" (in this context)?

    – Paul Spiegel
    Mar 7 at 17:06












  • You have 4 tables. The first thing you do is to define the relationship between those tables. Read this. stackoverflow.com/help/how-to-ask

    – Eric
    Mar 7 at 17:41











  • Firing keys was an auto complete issue, should have been foreign keys. As for heavy lifting, it means hard work, I would like to use SQL to retrieve the data in 1 go, instead of getting the table type, then having a switch statement in PHP to choose which column for a second query. I will update my question with more information on how the tables are structured shortly.

    – mike16889
    Mar 7 at 23:46

















  • Maybe my english is too bad or I'm just a noob.. But what are "firing keys" and "heavy lifting" (in this context)?

    – Paul Spiegel
    Mar 7 at 17:06












  • You have 4 tables. The first thing you do is to define the relationship between those tables. Read this. stackoverflow.com/help/how-to-ask

    – Eric
    Mar 7 at 17:41











  • Firing keys was an auto complete issue, should have been foreign keys. As for heavy lifting, it means hard work, I would like to use SQL to retrieve the data in 1 go, instead of getting the table type, then having a switch statement in PHP to choose which column for a second query. I will update my question with more information on how the tables are structured shortly.

    – mike16889
    Mar 7 at 23:46
















Maybe my english is too bad or I'm just a noob.. But what are "firing keys" and "heavy lifting" (in this context)?

– Paul Spiegel
Mar 7 at 17:06






Maybe my english is too bad or I'm just a noob.. But what are "firing keys" and "heavy lifting" (in this context)?

– Paul Spiegel
Mar 7 at 17:06














You have 4 tables. The first thing you do is to define the relationship between those tables. Read this. stackoverflow.com/help/how-to-ask

– Eric
Mar 7 at 17:41





You have 4 tables. The first thing you do is to define the relationship between those tables. Read this. stackoverflow.com/help/how-to-ask

– Eric
Mar 7 at 17:41













Firing keys was an auto complete issue, should have been foreign keys. As for heavy lifting, it means hard work, I would like to use SQL to retrieve the data in 1 go, instead of getting the table type, then having a switch statement in PHP to choose which column for a second query. I will update my question with more information on how the tables are structured shortly.

– mike16889
Mar 7 at 23:46





Firing keys was an auto complete issue, should have been foreign keys. As for heavy lifting, it means hard work, I would like to use SQL to retrieve the data in 1 go, instead of getting the table type, then having a switch statement in PHP to choose which column for a second query. I will update my question with more information on how the tables are structured shortly.

– mike16889
Mar 7 at 23:46












1 Answer
1






active

oldest

votes


















0














If you don’t need to search by the answers, then I’d recommend storing them in a JSON object or similar, and not bothering with seperate tables.



quiz | question | answers | multipleChoice
---- | ---------- | ----------- | --------------
1 | "Country?" | [ | true
| | "France", |
| | "Germany" |
| | ] |





share|improve this answer























  • Json will not cut it.

    – mike16889
    Mar 8 at 10:09











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55049031%2fhow-to-store-answers-in-tall-and-narrow-mysql-table%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














If you don’t need to search by the answers, then I’d recommend storing them in a JSON object or similar, and not bothering with seperate tables.



quiz | question | answers | multipleChoice
---- | ---------- | ----------- | --------------
1 | "Country?" | [ | true
| | "France", |
| | "Germany" |
| | ] |





share|improve this answer























  • Json will not cut it.

    – mike16889
    Mar 8 at 10:09















0














If you don’t need to search by the answers, then I’d recommend storing them in a JSON object or similar, and not bothering with seperate tables.



quiz | question | answers | multipleChoice
---- | ---------- | ----------- | --------------
1 | "Country?" | [ | true
| | "France", |
| | "Germany" |
| | ] |





share|improve this answer























  • Json will not cut it.

    – mike16889
    Mar 8 at 10:09













0












0








0







If you don’t need to search by the answers, then I’d recommend storing them in a JSON object or similar, and not bothering with seperate tables.



quiz | question | answers | multipleChoice
---- | ---------- | ----------- | --------------
1 | "Country?" | [ | true
| | "France", |
| | "Germany" |
| | ] |





share|improve this answer













If you don’t need to search by the answers, then I’d recommend storing them in a JSON object or similar, and not bothering with seperate tables.



quiz | question | answers | multipleChoice
---- | ---------- | ----------- | --------------
1 | "Country?" | [ | true
| | "France", |
| | "Germany" |
| | ] |






share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 7 at 17:43









Thomas EdwardsThomas Edwards

7,70531433




7,70531433












  • Json will not cut it.

    – mike16889
    Mar 8 at 10:09

















  • Json will not cut it.

    – mike16889
    Mar 8 at 10:09
















Json will not cut it.

– mike16889
Mar 8 at 10:09





Json will not cut it.

– mike16889
Mar 8 at 10:09



















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55049031%2fhow-to-store-answers-in-tall-and-narrow-mysql-table%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Save data to MySQL database using ExtJS and PHP [closed]2019 Community Moderator ElectionHow can I prevent SQL injection in PHP?Which MySQL data type to use for storing boolean valuesPHP: Delete an element from an arrayHow do I connect to a MySQL Database in Python?Should I use the datetime or timestamp data type in MySQL?How to get a list of MySQL user accountsHow Do You Parse and Process HTML/XML in PHP?Reference — What does this symbol mean in PHP?How does PHP 'foreach' actually work?Why shouldn't I use mysql_* functions in PHP?

Compiling GNU Global with universal-ctags support Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!Tags for Emacs: Relationship between etags, ebrowse, cscope, GNU Global and exuberant ctagsVim and Ctags tips and trickscscope or ctags why choose one over the other?scons and ctagsctags cannot open option file “.ctags”Adding tag scopes in universal-ctagsShould I use Universal-ctags?Universal ctags on WindowsHow do I install GNU Global with universal ctags support using Homebrew?Universal ctags with emacsHow to highlight ctags generated by Universal Ctags in Vim?

Add ONERROR event to image from jsp tldHow to add an image to a JPanel?Saving image from PHP URLHTML img scalingCheck if an image is loaded (no errors) with jQueryHow to force an <img> to take up width, even if the image is not loadedHow do I populate hidden form field with a value set in Spring ControllerStyling Raw elements Generated from JSP tagds with Jquery MobileLimit resizing of images with explicitly set width and height attributeserror TLD use in a jsp fileJsp tld files cannot be resolved