You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建在线调查SQL数据库:选项列构建问题求助

客户调查数据库搭建方案(修正你的SQL问题)

你给出的SQL语句存在多处语法错误,同时表结构设计也有可优化空间,下面直接提供修正后的可行方案,分两种场景供你选择:

场景一:选项固定,无需频繁修改

直接用ENUM类型限定可选值,语法简单且在MySQL中支持更可靠(比CHECK约束实用性更强):

-- 创建数据库(如果不存在则创建)
CREATE DATABASE IF NOT EXISTS customer_survey;
USE customer_survey;

-- 创建问卷表
CREATE TABLE questionnaire (
    id INT AUTO_INCREMENT PRIMARY KEY, -- 新增主键,方便后续数据管理与关联
    firstName VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    -- 用ENUM强制限定输入值只能是指定选项
    reference ENUM('Socials', 'Google search', 'Google Mybusiness', 'Referal', 'Email') NOT NULL
);

场景二:选项可能新增/修改,需要扩展性

采用规范化关联表设计,后续调整选项无需修改主表结构:

CREATE DATABASE IF NOT EXISTS customer_survey;
USE customer_survey;

-- 创建来源选项表,专门存储可选值
CREATE TABLE reference_options (
    id INT AUTO_INCREMENT PRIMARY KEY,
    option_name VARCHAR(255) NOT NULL UNIQUE
);

-- 插入预设选项
INSERT INTO reference_options (option_name)
VALUES 
('Socials'),
('Google search'),
('Google Mybusiness'),
('Referal'),
('Email');

-- 创建问卷表,通过外键关联选项表
CREATE TABLE questionnaire (
    id INT AUTO_INCREMENT PRIMARY KEY,
    firstName VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    reference_id INT NOT NULL,
    -- 外键约束确保只能选择已存在的选项
    FOREIGN KEY (reference_id) REFERENCES reference_options(id)
);

PHP弹窗中使用的思路

  • 场景一:可通过查询数据库元数据获取ENUM的可选值,SQL示例:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(column_type, "'", 2), "'", -1) AS option_value
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'customer_survey' AND table_name = 'questionnaire' AND column_name = 'reference';

拿到数据后用PHP循环生成单选框或下拉选择框即可。

  • 场景二:直接查询选项表获取数据,PHP示例代码:
<?php
// 替换为你的数据库账号密码
$conn = mysqli_connect('localhost', 'db_username', 'db_password', 'customer_survey');

// 查询所有选项
$options_result = mysqli_query($conn, "SELECT id, option_name FROM reference_options");

// 生成下拉选择框
echo '<select name="reference_id">';
while ($option = mysqli_fetch_assoc($options_result)) {
    echo "<option value='{$option['id']}'>{$option['option_name']}</option>";
}
echo '</select>';
?>

内容的提问来源于stack exchange,提问作者AriEm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:37:37