sql修改表的常见问题

来源:互联网 发布:少儿英语 知乎 编辑:程序博客网 时间:2024/06/07 00:24

关于修改表的主键,从一个到两个,会有multiple primary key的错..折腾到两点也不知道为啥,然后就删掉再建了...


然后关于修改列的属性...

想从int修改到varchar

然后这么写alter table trian_serial alter column id varchar(45),就报了

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(45)' at line 2的错...

原答案..https://zhidao.baidu.com/question/129302524.html

然后想23个赞应该不会有错啊...然后找了其他答案...

改成alter table train_serial alter id varchar(45)就可以了..

然后发现23个赞的下面有个说法是如果原列上有约束的话就会报错..虽然和他说的报错信息不一样..但是我觉得  可能  是这个原因吧..


bisides

CREATE TABLE IF NOT EXISTS `ticket`.`schedule` (
 `train_serial` INT NOT NULL,
  `start_place` VARCHAR(45) NOT NULL,
  `end_place` VARCHAR(45) NOT NULL,
  `start_time` DATETIME NOT NULL,
  `end_time` DATETIME NOT NULL,
  `status` VARCHAR(45) NULL,
  `passid` INT NOT NULL,
   foreign key (train_serial) references train_serial(id),
  PRIMARY KEY (`train_serial`,`start_place`,`start_time`)
 ) default charset utf8

这么写会有

Cannot add foreign key constraint

的错误。..

是因为train_serial的属性和被引用的表中的主键属性不同...真是..太智障了...


btw..在写作业的时候..还发现如果不close掉fileWriter的话就不会写入文件...因为没有flush

0 0
原创粉丝点击