在mysql数据库中,设置default约束和外键约束失败

ALTERTABLEbookInfoADDCONSTRAINTFK_booktypeIdFOREIGNKEY(booktypeId)REFERENCESbookType(booktypeId)ALTERTABLEbookInfoALTERh3ImagSETDEFAULT'nullBig.png';程序成功

SQLDEFAULT约束介绍

DEFAULT约束用于将默认值插入到列中。
如果未指定其他值,则默认值将添加到所有新记录中。
SQLDEFAULTConstraintonCREATETABLE创建People表时,以下SQL在City列上创建DEFAULT约束:MySQL/SQLServer/Oracle/MSAccess:CREATETABLEPersons(Id_PintNOTNULL,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255)DEFAULTSandnes)DEFAULT约束也可用于使用GETDATE()等函数插入系统值:CREATETABLEOrders(Id_OintNOTNULL,OrderNointNOTNULL,Id_Pint,OrderDatedateDEFAULTGETDATE())SQLDEFAULTConstraintonALTERTABLE要在表已存在时在City列上创建DEFAULT约束,请使用以下SQL:MySQL:ALTERTABLEPersonsALTERCitySETDEFAULTSANDNESSQLServer/Oracle/MSAccess:ALTERTABLEPersonsALTERCOLUMNCitySETDEFAULTSANDNES撤销DEFAULT约束要删除DEFAULT限制,请使用以下SQL:MySQL:ALTERTABLEPersonsALTERCityDROPDEFAULTSQLServer/Oracle/MSAccess:ALTERTABLEPersonsATERCOLUMNCityDROPDEFAULT

MySQL简单明了的一列设置教程mysql一列设置

MySQL:简单明了的单列设置教程MySQL是一种广泛使用的关系数据库管理系统。
在MySQL中,列是数据表中的一组数据。
通过设置列,可以确定列的数据类型、数据长度、允许的最大值和最小值等属性。
在这篇文章中,我们将为您介绍MySQL列的设置方法,并为您提供相关代码。
1.设置列的数据类型。
在MySQL中,列的数据类型是确定该列可以保存什么类型数据的依据。
因此,在设置列时,需要首先确定列的数据类型。
下面是设置列数据类型的相关代码:CREATETABLEstudent(idINTUNSIGNEDNOTNULLAUTO_INCRMENT,nameVARCHAR(30)NOTNULL,ageTINYINTUNSIGNEDNOTNULL,sexENUM('M','F')NOTNULL,PRIMARYKEY(id));在这段代码中,我们创建一个名为student的数据表,并设置该表的四列,分别是id、name、age和sex。
其中id列的数据类型为INTUNSIGNED,name列的数据类型为VARCHAR(30),age列的数据类型为TINYINTUNSIGNED,sex列的数据类型为ENUM('M',“F”)。
这里,INTUNSIGNED表示无符号整数,VARCHAR(30)表示最大可容纳长度为30的字符串,TINYINTUNSIGNED表示无符号最小整数,ENUM('M','F')表示只能容纳M或F枚举类型。
2、设置列的默认值在MySQL中,如果没有为列提供值,则该列的值默认为NULL。
不过,在设置表时,我们还可以为某列设置一个默认值,这样当该列没有提供值时,就会自动使用默认值。
下面是设置列默认值的示例代码:CREATETABLEstudent(idINTUNSIGNEDNOTNULLAUTO_INCRMENT,nameVARCHAR(30)NOTNULL,ageTINYINTUNSIGNEDNOTNULLDEFAULT18,sexENUM('M','F')NOTNULL,PRIMARYKEY(id));在这个示例代码中,我们设置了age的默认值列,设置为默认值18。
在数据表中,当我们不提供age的值时,age将默认为18。
如果需要更改此值默认值,可以使用以下代码:ALTERTABLEstudentALTERageSETDEFAULT20;此代码将年龄列的默认值从18更改为20。
3.设置列的长度。
在MySQL中,列的长度是列中包含的数据的最大长度。
如果我们为某列设置的长度不能满足要求,MySQL就会产生错误信息。
以下是设置列长度的示例代码:CREATETABLEstudent(idINTUNSIGNEDNOTNULLAUTO_INCRMENT,nameVARCHAR(50)NOTNULL,ageTINYINTUNSIGNEDNOTNULL,sexENUM('M','F')NOTNULL,PRIMARYKEY(id));在这个示例代码中,我们设置了名称的最大长度,长度扩展为50位。
如果我们想减少长度,我们还可以使用以下代码:ALTERTABLEstudentMODIFYnameVARCHAR(20);此代码将名称的最大长度更改为20位数字。
4.设置列的唯一性和主键。
在MySQL中,每个表只能有一个主键。
主键必须是唯一的并且不能为空。
在MySQL中,可以通过设置列的唯一性和主键来确保表中的每一行都有唯一的标识符。
以下是设置列的唯一性和主键的代码示例:CREATETABLEstudent(idINTUNSIGNEDNOTNULLPRIMARYKEYAUTO_INCRMENT,nameVARCHAR(50)NOTNULLUNIQUE,ageTINYINTUNSIGNEDNOTNULL,sexENUM('M','F')NOTNULL,);在此示例代码中,我们将id列设置为主键,并为name列设置唯一约束。
这意味着每个学生的姓名必须是唯一的,并且每个学生必须有一个唯一的ID,以便查询和更新单个学生的信息。
通过本文,您学习了如何设置列数据类型、默认值、长度等属性,MySQL中的唯一性和主键。
了解这些基础知识对于开发和管理MySQL数据库将非常有帮助。