MySQL正在创建表,如果行为空,则返回特定值

MySQL正在创建表,如果行为空,则返回特定值,mysql,sql,normalization,Mysql,Sql,Normalization,我正在尝试创建一个简单的数据库: 学生 第一个名称(不能为空) 姓氏(不能为空) 区域(如果为空,则返回“未知”) 我使用了以下代码: 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") ) 不起作用:(知道为什么吗?使

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

学生

  • 第一个名称(不能为空)
  • 姓氏(不能为空)
  • 区域(如果为空,则返回“未知”)
我使用了以下代码:

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")
)

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

使用
default

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

另外,别忘了指定主键!

谢谢你的快速回答!我没有!:D我只是没有在这里显示它,出于好奇,ENGINE=InnoDB是什么?谢谢:)关于创建数据库和使用它也很有帮助,就像你在读我的心思一样!
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;