createtablecomment的简单介绍
mysql中的 COMMENT 有什么作用吗?
COMMENT 是备注、注释的意思,写上COMMENT 'id'之后,在建表信息里可以看到添加的备注信息。
COMMENT 'id'删除不会影响数据操作,只是没有字段注释说明,通常字段或列名都需要加注释,以方便自己和其他同事阅读数据库表字段信息。
题主的报错不是因为?COMMENT 'id',是因为?AUTO_INCREMENT(自增)的字段只能是主键,所以要在?AUTO_INCREMENT 后面增加?PRIMARY KEY 声明主键。
扩展资料
在MySQL数据库中,字段或列的注释是用属性comment来添加。
创建新表添时,填加comment注释的示例代码如下:
create?table?test(id?int?not?null?default?0?comment?'用户id');
已经建好的表,添加comment注释的示例代码如下:
alter?table?test
change?column id?int?not?null?default?0?comment?'测试表id' ;
SQL SERVER触发器级联删除时出错
ALTER TRIGGER [dbo].[trigCategoryDelete]
ON [dbo].[category]
INSTEAD OF delete
AS
BEGIN
delete comment where newsId in (select id from news where exists(select id from deleted where deleted.id=news.caId))
delete news where exists(select id from deleted where deleted.id=news.caId)
delete category where exists(select * from deleted where deleted.id=category.id)
END
news表的触发器代码如下:
ALTER TRIGGER [dbo].[trigNewsDelete]
ON [dbo].[news]
INSTEAD OF delete
AS
BEGIN
delete comment where exists(select * from deleted where deleted.id=comment.newsId)
delete news where exists(select * from deleted where deleted.id=news.id)
END
/*
利用exists进行deleted表和原表对比
如果用户执行:delete from 表 where id100的批删除
楼主的就会出错
如果确定是一行处理,请使用:
ALTER TRIGGER [dbo].[trigNewsDelete]
ON [dbo].[news]
INSTEAD OF delete
AS
if @@rowcount=1
BEGIN
.........代码........
END
*/
mysql:[Err] 1005 - Can't create table 'personalhomepage.comment' (errno: 150) [Err]
在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束。
出现问题的大致情况
1、外键的引用类型不一样,如主键是int外键是char
2、找不到主表中引用的列
3、主键和外键的字符编码不一致,也可能存储引擎不一样
Oracle建表的时候能不能像mysql一样用comment把注释加进去?
Oracle数据库的建表语句create table没有增加注释的功能。
可以通过注释语句comment来创建注释,例如:
comment on column table_name.column_name is 'comment';
comment on table table_name is 'comment';
[Err] 1005 - Can't create table 'xx' (errno: 150),求高手指教
user的 FOREIGN KEY不可能连到friend中,因为你先创建user,那么他执行到foreign key的时候,他找不到friend,而你的friend是在user建立之后才创建的。