在MySQL中如何设置主键和外键

在MySQL中如何设置主键和外键,第1张

添加主键~
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个动词,语法接近英语口语。

参考资料:

百度百科-SQL语言


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13341518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存