MySQL创建表,如果row为null,则返回特定值

时间:2013-09-30 10:33:41

标签: mysql sql normalization

我正在尝试创建一个简单的数据库:

学生

  • First_name(可能不为空)
  • Last_name(可能不为空)
  • 地区(如果空,返回“未知”)

我使用了以下代码:

CREATE TABLE Students
(
  First_name VARCHAR(50) NOT NULL,
  Last_name VARCHAR(50) NOT NULL,
  //And my wild guess:
  Region VARCHAR(50) ISNULL(Region, "unknown")
)

不起作用:(知道为什么?

2 个答案:

答案 0 :(得分:1)

使用default

CREATE TABLE Students
(
  First_name VARCHAR(50) NOT NULL,
  Last_name VARCHAR(50) NOT NULL,
  Region VARCHAR(50) NOT NULL default 'unknown'
)

答案 1 :(得分:1)

drop database if exists studentsdb;
create database studentsdb;
use studentsdb;

CREATE TABLE Students(
  id VARCHAR (10) NOT NULL,
  First_name VARCHAR ( 50 ) NOT NULL,
  Last_name VARCHAR( 50 ) NOT NULL,
  Region VARCHAR( 20 ) NOT NULL default 'unknown',
  PRIMARY KEY  (id)
) ENGINE=InnoDB;

另外,不要忘记指定主键!