如何在mysql表中将默认值设置为文本和自动增量

时间:2014-08-18 17:57:26

标签: php mysql wechat

我正在尝试将默认用户名设置为wechat,其中包含类似wxid_1234的内容 那么我们可以在mysql表中设置默认用户名吗?

有一个名为'username'的表格,有两列:'username'和'phone'。由于'username'需要设置为foo_123,并且可以通过foo_124,foo_125等自动增加。之后可以更改。

那么可以像这样设置用户名吗? 如果不是这样做的另一种方法。

2 个答案:

答案 0 :(得分:1)

考虑以下方法:

  • 创建id列设置为int和AUTO_INCREMENT
  • 创建一个设置为VARCHAR的用户名列,其DEFAULT值为foofoo_
  • 创建设置为VARCHAR的电话列

然后像这样连接idusername :(使用PHP)

$username . "_" . $id

$username . $id

取决于您要使用的方法。

将分别生成foo_1 foo_2 foo_3等。数字将自动从那里开始增加。

答案 1 :(得分:1)

是的,您可以这样做,但这将是两个查询,您必须将自动增量user_id作为另一列:

$sql = $dbo->prepare('INSERT INTO users(username, phone) values("temp", ?)');
$sql->execute(array($phone_number));
$id = $dbo->lastInsertId(); 
$sql = $dbo->prepare("UPDATE users SET username=? WHERE id=?");
$username = "foo_" . $id;
$sql->execute(array($username, $id));