mysql 创建表和外键

mysql> create table country(
   > country_id smallint unsigned not null auto_increment,
   >country varchar(50) not null,
     >last_update timestamp not null default current_timestamp on update current_timestamp,
     >primary key (country_id)
   >)engine=InnoDB default charset = utf8;

mysql> ccreate table city(
  >city_id smallint unsigned not null auto_increment,
  >city varchar(50) not null,
  >country_id smallint unsigned not null,
  >last_update timestamp not null default current_timestamp on update current_timestamp,
  >primary key (city_id),
  >key idx_fk_country_id (country_id),
  >foreign key (country_id) references country (country_id)
  >) ENGINE = InnoDB default charset=utf8;

时间: 2024-08-08 11:09:23

mysql 创建表和外键的相关文章

mysql为表添加外键完成性约束 报错Can't create table 'sfkbbs.#sql-513_25' (errno: 150)

代码 alter table sfk_son_module add constraint foreign key(father_module_id) references sfk_father_module(id) on delete restrict on update restrict; (constraint 后面可以加上约束名字) 错误原因是之前两张表的id的类型不一样,一个时int,一个时bigint 解决办法时修改表, alter table sfk_father_module mo

mysql清表时有外键关联处理办法

可以忽视关联的情况下: 先取消主外键关系验证:SET FOREIGN_KEY_CHECKS = 0; 然后删除需要删除的数据:truncate table table_name; 最后恢复:SET FOREIGN_KEY_CHECKS = 1; 原文地址:https://www.cnblogs.com/chenjw-note/p/11419231.html

mysql的父子表,外键约束

在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束.外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持):2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立: 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以: 外键的好处:可以使得两张表关联,保证数据的一

mysql查询某张表的外键

mysql和oracle一样也是有数据字典表的,是存在单独的一个库叫INFORMATION_SCHEMA,要查看某张表的外键要从字典表中查找 如mysql查询某张表的外键,可以用下面的方式查询 use INFORMATION_SCHEMA; select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where table_name

2-16 MySQL字段约束-索引-外键

一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) not null,pass varchar(20) not null); mysql> insert into worker values(1,'HA','123456'); mysql> insert into worker values(1,'LB',null); ERROR 1048 (2

oracle主从表主外键对应关系

一.首先让我们来了解下什么是主外键? 1.主键:唯一标识数据表中的某一行 1) 一个表中只能有一个主键.如果在其他字段上建立主键,则原来的主键就会取消.在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键. 2)主键的值不可重复,也不可为空(NULL).主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义. 3)主键的创建:在建置新表格时设定主键的方式 MySQL:  CREATE TABLE Customer (SID integer,La

MySQL学习10:外键约束下的更新操作

上一篇只是讲述了外键约束的要求,并没有讲述外键约束的参照操作.这一次我来看看外键约束下的更新操作. 一外键约束的参照操作 我们进行外键约束的创建以后,在更新表的时候,子表是否也进行相应的更新.这是我们创建外键约束最大的好 处.有以下几种: 1)CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行. 2)SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,必须保证子表列没有指 定NOT NULL. 3)RESTRICT:拒绝对父表的删除或更新操作. 4)

003--PowerDesigner创建索引与外键

PowerDesigner创建索引与外键 一.创建索引 双击Table->Columns->创建索引 Step1:双击Table Step2:选择Columns->创建索引 弹出如下窗口: Step3:选择columns标签 Step4:选择Add Columns.. Step5:勾选要作为索引的列即可. 二.创建外键 如有二张表A和表B,A表b_id是外键,指向B表主键b_id                 创建外键方式: 1.A表b_id(外键)与B表b_id(主键)名称相同,可直

MYSQL创建表的约束条件(可选)

一.常用的一些约束条件 一.创建表的完整语法1.创建表的万能模板:create table 库名.表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件]); 2.约束条件: 是在数据类型之外对字段附加的额外的限制,当然了这种约束条件就是可有可无的啦,那你该问小编了可有可无那没有多好,省着麻烦了,之所以有是为了保证数据的完整性和一致性,毕竟我们结合现实的实际生产场景来做选择 3.创建表注意事项: 1.最后一个字段之后不能加逗号