大家好我想创建一个带有前缀的唯一ID,然后想要在数据库中输入它,客户ID字段需要是主要的,因为我尝试了很多东西但是都失败了,因为mysql不让我这样做现场小学,
我试图像这样创建客户ID
$pre="brbn_";
$v=0001;
id=$pre.$v;
这里的mysql查询来自此查询。
答案 0 :(得分:0)
您可以在数据库中的唯一字段中使用字符串,但不能将其用作主数据库,因为您的ID不是数字。 mysql使用primary来自动增量或类似的东西。 您可以创建主要ID和唯一用户ID并将其存储在数据库中。
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL,
`uid` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uid` (`uid`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test` (`id`, `uid`) VALUES (1, 'brbn_0001'),(2, 'brbn_0002');
当然你应该让字段ID自动增量:)
因为您已经创建了数据库并且只想增加$ v,所以必须先从db中选择
SELECT uid FROM test DESC LIMIT 1
这将返回最后一个条目...现在您可以使用php来剪切字符串。 尝试一下像
$var = explode("_",$result);
$ var [1]中的值为1
现在递增$ var [1] ++;
现在你必须把号码带回4个号码
$var = str_pad($var[1], 4);
您可以在两行中执行此操作,例如
$var = explode("_",$result);
$var = str_pad(++$var[1], 4);
而不是添加前缀并插入数据库