alter
table
table_name
add
constraint
pk_name
primary
key(列名);
添加外键~
alter
table
table_name
add
constraion
pk_name
foreign
key(列名)
references
table_name(列名);
基础语法~其他条件自行添加在mysql中如何设置主键和外键首先你必须把name的条件改为not
null
alter
table
mytable_1
alter
column
name
char(1)
not
null
然后可以把原主键删除,再重新增加主键。
alter
table
mytable_1
drop
constraint
PK_mytable_1(主键名字)
alter
table
mytable_1
add
constraint
PK_mytable_1
primary
key(id,name)你们的想法是不是,想在建表时为id指定uuid,然后每次插入数据都会自动为每一条数据生成uuid呢?就像auto_increment主键自增一样呢?
我只想说
you
are
too
young!
我一开始是这样做的:
create
table
product(
id
varchar(36)
primary
key
default
uuid()
)
sql语句报错。
后来查了查资料,发现mysql好像并不支持在建表时,为某一字段指定默认函数值。但是在Oracle数据库中,却支持这样干,也就可以实现插入数据时,自动生成uuid。
所以在mysql中只能在插入数据时,将uuid()函数值赋值给id字段。
后来,我又想了一个方案,我可以去写一个触发器,每次在执行插入 *** 作时,都为id字段更新为uuid(),但是这种方式还是存在很多问题的,这里就不说了。
总而言之,因为id在业务层面一般是无意义的,如果只是为了实现主键自增长,那请用auto_increment吧,如果您有更好的解决方式,请务必回复我,不胜感谢。你是程序版的还是网页版的?
用SQL语句就行 等下给你
ALTER TABLE `表` DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `字段` )
保证字段是INT
在创建表的时候可以设置,方法如下,用一下sql语句。
create table tableName(
id int identity(1,1) primary key,
data varchar(50))
解释:其中identity(1,1)代表自增,第一个1代表从1开始计数,第二个1代表每次增长1。
扩展资料:
语言特点
1、一体化:SQL集数据定义DDL、数据 *** 纵DML和数据控制DCL于一体,可以完成数据库中的全部工作。
2、使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。
3、非过程化:只提 *** 作要求,不必描述 *** 作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。
4、语言简洁,语法简单,好学好用:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。
参考资料:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)