mysql 联合主键视图如何加“主键”

mysql忘加主键,怎么填上一个啊_百度知道
提问者采纳
ALTER TABLE 表名 ADD PRIMARY KEY(id)大小写 没问题 。。。。mysql 里面有个优化器 能优化命令
提问者评价
太感谢了,真心有用
其他类似问题
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁MySQL添加、删除主键的操作方法介绍
mysql添加删除主键 操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,如果您是刚刚接触mysql的新人,不妨一看。
  修改mysql的字符集:
  在安装mysql5.0时可以设置好mysql的字符集,一般使用utf8的字符集
  1、查看建立表&tablename&的sql语句
  Show create table tablename;//查看建立表&tablename&的sql语句
  | maos_mail_batch | CREATE TABLE `maos_mail_batch` (
  `ID` varchar(32) character set latin1 NOT NULL,
  `BATCH_TIME` varchar(30) character set latin1 NOT NULL,
  `BATCH_INTRODUCE` varchar(2000) character set latin1 default NULL,
  `BATCH_SUM` int(11) default NULL,
  `BATCH_STATE` varchar(1) character set latin1 default NULL,
  PRIMARY KEY (`ID`) & &
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
  2、修改数据库和表的字符集
  alter database maildb default character set utf8;//修改数据库的字符集
  alter table mailtable default character set utf8;//修改表的字符集
  如果您想要把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集,应使用如下语句:
  ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
  警告:前面的操作转换了字符集之间的列类型。如果您有一列使用一种字符集(如latin1),但是存储的值实际上使用了其它的字符集(如utf8),这种情况不是您想要的。此时,您必须对这样的列进行以下操作。
  ALTER TABLE t1 CHANGE c1 c1 BLOB; & &
  ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
  这种方法能够实现此功能的原因是,当您转换到BLOB列或从BLOB列转换过来时,并没有发生转换。
  3、mysql的主键问题:
   Mysql的两种主键。Primary key 和not null auto_incriment在建立mysql表时,给一个字段添加了主键primary key 在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值my还是默认添加0,会导致 有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。
  在建立表时,给一个字段添加了主键not null auto_increment=1;
  这也是一个主键。时自增长的以1为开始。这个字段是可以不用填写值的,mysql数据库会自动给填写值,不会出现primary key的状况。
  Alter table tb add primary key(id);
  Alter table tb change id id int(10) not null auto_increment=1;
  4、删除自增长的主键id
  先删除自增长在删除主键
  Alter table tb change id id int(10);//删除自增长
  Alter table tb drop primary key;//删除主建
  以上就是mysql添加删除主键的方法介绍。
作者 DouglasLau
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。mysql里提示视图没有主键?_百度知道
mysql里提示视图没有主键?
如上图,当我在mysql里建一个视图,结果能查出来,但是打开视图的时候却总是弹出上面的错误提示框。。不知道是什么原因造成的。视图关联三张表,有主外键关系,SQL语句为:select b.id,b.integraldailyid,b.linkmanName,b.TelPhone,b.Mobile,b.Email,b.Address,b.Post,b.objectID,b.remark,a.LoginName,a.Time,a.Value,c.PName,c.Photo from integraldaily as a inner join integralorderinfo as b on a.ID=b.integraldailyid inner join integralproducts as c on b.objectID=c.PID order by a.Time desc 结果证明是因为我加了 order by a.Time desc,不加这句就不会弹出错误提示。不知道是什么原因啊。
我有更好的答案
按默认排序
用 SHOW CREATE TABLE 表名,把建表语句贴出来。
其他类似问题
mysql的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 mysql 主键类型 的文章

 

随机推荐