primarykey主键等价于仅有(unique)且非空(notnull)
毕竟mysql里面的自增列,可以要感情依赖一个主键或则同样的键。
所以你的sql里面要有一个
primarykey(`id`)
要是不加primarykey(`id`)的话,结果将像下面这个样子:
mysqlgtcreatetabletab(
-r26idintauto_increment,
-dstrokvalvarchar(10)
-dstrok)
error1075(42000):incorrecttabledefinitiontherecanbeonlyoneautocolumnbothitmustbedefinedasakey
engineinnodbdefaultcharsetgbkauto_increment1
这行语句,可以设置了3个表的属性
engineinnodb是设置里表的引擎。innodb引擎是都很新的,支持什么外键与事务处理等特性。
charsetgbk是字符集
auto_increment1是那个自增的id,起始数值是1
我把这样的表单写入文件数据库以后留言板上的内容(中文)再添加出来总是显示是“??”。
我打开系统结构的时候倒是是gbk_chinese_ci了
这个要调查一下,你的数据,是怎么插到的。
可是你的数据库表的字符编码,是gbk了。
但假如你的数据,是实际网页再插入的,而网页的编码是utf8之类的话。
那你到最后需要保存的数据,就肯定是??了。
先要可以去掉外键约束才能直接修改字段名,如果不是真接改的话mysql会提示,导致修改不最终。
abc这3张表在电脑设计的时候就肯定是把主键和外键设好的吧,所以才这和插到数据时所建议使用的语句是没有什么关系的,而数据的对应关系这样的吧a--〉ab--〉b,c--〉c。a,b,c表只多了个时间字段,那你给这个字段设默认值的时候设为getdate()就可以了你不生之物的去再插入时间了~用最简单sql就可以了比如说select*intoafroma