2010-03-09 66 views
0

我是新來的MySQL,想知道如何將用戶birthdate以下面的HTML格式添加到下面列出的MYSQL表數據?Mysql表數據問題?

結構如何看起來像例如email VARCHAR(80) NOT NULL,

以下是以下HTML代碼。

<li><label>Date of Birth: </label> 
    <label for="month">Month: </label> 
     <select name="month" id="month"> 
      <option value="January">January</option> 
      <option value="February">February</option> 
      <option value="March">March</option> 
      <option value="April">April</option> 
      <option value="May">May</option> 
      <option value="June">June</option> 
      <option value="July">July</option> 
      <option value="August">August</option> 
      <option value="September">September</option> 
      <option value="October">October</option> 
      <option value="November">November</option> 
      <option value="December">December</option> 
     </select> 
    <label for="day">Day: </label> 
     <select id="day" name="day"> 
      <option value="0" selected="selected">Day</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 
      <option value="11">11</option> 
      <option value="12">12</option> 
      <option value="13">13</option> 
      <option value="14">14</option> 
      <option value="15">15</option> 
      <option value="16">16</option> 
      <option value="17">17</option> 
      <option value="18">18</option> 
      <option value="19">19</option> 
      <option value="20">20</option> 
      <option value="21">21</option> 
      <option value="22">22</option> 
      <option value="23">23</option> 
      <option value="24">24</option> 
      <option value="25">25</option> 
      <option value="26">26</option> 
      <option value="27">27</option> 
      <option value="28">28</option> 
      <option value="29">29</option> 
      <option value="30">30</option> 
      <option value="31">31</option> 
     </select>     
    <label for="year">Year: </label><input type="text" name="year" id="year" /></li> 

這裏是MySQL表格數據。

CREATE TABLE users (
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
first_name VARCHAR(20) NOT NULL, 
last_name VARCHAR(40) NOT NULL, 
email VARCHAR(80) NOT NULL, 
pass CHAR(40) NOT NULL, 
user_level TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 
active CHAR(32), 
registration_date DATETIME NOT NULL, 
PRIMARY KEY (user_id), 
UNIQUE KEY (email), 
INDEX login (email, pass) 
); 

回答

0

使用DATETIME/DATE字段來存儲這一點。

+0

它是如何將看起來像我的MySQL表? – DaTeNtImE 2010-03-09 11:50:57

+0

Somethinf like ** bithday DATETIME DEFAULT NULL ** – 2010-03-09 11:52:48

0

您可以使用DATE數據類型作爲生日。

如果你想重新創建表中可以添加:

birth_day DATE NOT NULL, 

如果它不可能有一個b'day爲每個用戶可以刪除NOT NULL條款。

如果你想改變現有的表,你可以這樣做:

ALTER TABLE users 
ADD COLUMN birth_day DATE 
1

如果你想存儲日期,你可以使用DATE數據類型:

DATE類型時使用您只需要 一個日期值,沒有時間 部分。
MySQL以'YYYY-MM-DD' 格式檢索並顯示 DATE值。
支持的範圍是 '1000-01-01''9999-12-31'

然後,您將使用'YYYY-MM-DD'格式插入/更新或獲取日期。


這意味着你創建的表是這樣的:

CREATE TABLE users (
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
... 
active CHAR(32), 
registration_date DATETIME NOT NULL, 
birthdate DATE NOT NULL, 
PRIMARY KEY (user_id), 
... 
); 


你會使用SQL查詢,例如:(例子)

select * 
from users 
where birthdate >= '1980-01-01' and birthdate <= '1999-12-31' 

和/或:

insert into users (..., birthdate, ...) 
values (..., '1965-03-24', ...) 

和/或:

update users 
set birthdate = '1988-05-12' 
where uid_id = 125 
0

使用表中的

CREATE TABLE users (
    user_id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    first_name VARCHAR(20) NOT NULL, 
    last_name VARCHAR(40) NOT NULL, 
    email VARCHAR(80) NOT NULL, 
    pass CHAR(40) NOT NULL, 
    user_level TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, 
    active CHAR(32), 
    registration_date DATETIME NOT NULL, 

    birhtday DATE NOT NULL, 

    PRIMARY KEY (user_id), 
    UNIQUE KEY (email), 
    INDEX login (email, pass) 
    ); 

你最好修改您的形式DATE類型,這樣的月選項value是數字,而不是完整的月份名稱。就像這樣:

  <select name="month" id="month"> 
      <option value="1">January</option> 
      <option value="2">February</option> 
      <option value="3">March</option> 
      <option value="4">April</option> 
      <option value="5">May</option> 
      <option value="6">June</option> 
      <option value="7">July</option> 
      <option value="8">August</option> 
      <option value="9">September</option> 
      <option value="10">October</option> 
      <option value="11">November</option> 
      <option value="12">December</option> 
     </select> 

如果你使用PHP,該代碼將使一個DATE類型適當的值:

<?php 
    //$birthday will be something like '7-12-1985' 
    $birthday = $_POST['year'].'-'.$_POST['month'].'-'.$_POST['day']; 
?>