Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql表主键的已定义模式_Sql_Mysql - Fatal编程技术网

mysql表主键的已定义模式

mysql表主键的已定义模式,sql,mysql,Sql,Mysql,是否仍有创建主键模式的方法,例如,对于表产品,这种模式将由p-1、p-2。。。p-n等 谢谢,您可以在应用程序中或使用触发器手动创建并强制执行该模式。主键只需要是唯一的就可以工作 但我不推荐。在您的示例中,P-1似乎具有商业意义。而且,如果它属于您的业务领域,它可以更改。虽然大多数数据库都有一个更新级联等价物,但它并没有改变不应该将其用作键的基本原因:它是信息,而不是数据 我建议您创建一个名为ProductCode char10 NOT NULL UNIQUE的字段,并用p-00000001、p

是否仍有创建主键模式的方法,例如,对于表产品,这种模式将由p-1、p-2。。。p-n等


谢谢,您可以在应用程序中或使用触发器手动创建并强制执行该模式。主键只需要是唯一的就可以工作

但我不推荐。在您的示例中,P-1似乎具有商业意义。而且,如果它属于您的业务领域,它可以更改。虽然大多数数据库都有一个更新级联等价物,但它并没有改变不应该将其用作键的基本原因:它是信息,而不是数据


我建议您创建一个名为ProductCode char10 NOT NULL UNIQUE的字段,并用p-00000001、p-00000002等填充它。也许您更喜欢使用varchar:这没关系,因为它必须满足您的业务需求。创建一个Id INTEGER AUTO_INCREMENT主键字段用作主键,因为它永远不需要更改。

MySQL上的int-IDENTITY将是INTEGER AUTO_INCREMENT主键