mysql> create table shoping (
-> id int not null primary key,-> shoping varchar(64) not null,
-> user_id int not null,
-> foreign key(user_id) references user(id));
//type=innodb;
在外健配置,需要innodb格式
测试:
mysql> insert into shoping values("1","娃哈哈纯净水 1件","10");
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`android_db`.`shoping`, CONSTRAINT `shoping_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))
因为没有父表对应的子段,所以失败 1452错误
MySql Alter Table相关操作:
1:删除列
ALTER TABLE 【表名字】 DROP 【列名称】
2:增加列
ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL COMMENT '注释说明'
ALTER TABLE search_record ADD `send` INT default 0;
3:修改列的类型信息
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL COMMENT '注释说明'
修改字段类型:
alter table search_record alter column big set default 0;
在某个字段后增加字段:
alter table `user_movement_log`
Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加)
调整字段顺序:
ALTER TABLE `user_movement_log` CHANGE `GatewayId` `GatewayId` int not null default 0 AFTER RegionID
4:重命名列
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 BIGINT NOT NULL COMMENT '注释说明'
5:重命名表
ALTER TABLE 【表名字】 RENAME 【表新名字】
6:删除表中主键
Alter TABLE 【表名字】 drop primary key
7:添加主键
ALTER TABLE 【表名字】 ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)
//修改ID为自增长并设置主键
alter table 【表名字】 modify id int auto_increment primary key
8:添加索引
ALTER TABLE sj_resource_charges add index INDEX_NAME (name);
9: 添加唯一限制条件索引
ALTER TABLE sj_resource_charges add unique emp_name2(cardnumber);
10: 删除索引
alter table tablename drop index emp_name;