【发布时间】:2021-12-20 12:08:11
【问题描述】:
我在mysql中有一个用户表,我这样插入数据:
/* prepare query */
$query = 'INSERT INTO `users`(`first_name`,
`last_name`,
`gender`,
`username`,
`profile_picture`,
`provider`,
`provider_id`,
`provider_username`,
`provider_profile`,
`provider_profile_picture`,
`last_login`,
`created_date`,
`ip_address`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW(), INET_ATON(?))';
/* Prepare an insert statement */
$stmt = $mysqli->prepare($query);
if($stmt){
$stmt->bind_param("sssssssssss", $user['first_name'],
$user['last_name'],
$user['gender'],
$user['username'],
$user['profile_picture'],
$user['provider'],
$user['id'],
$user['username'],
$user['link'],
$user['profile_picture'],
$_SERVER['REMOTE_ADDR']);
$stmt->execute();
/* Execute the statement */
我想让username 等于'user' + userId 这是自动增量主键字段。
以便用户名有序:
user1
user2
user3 and so forth
有什么巧妙的方法可以做到这一点?
【问题讨论】:
-
没有一个巧妙的方法。要实际设置该值,您需要一个触发器。
-
@GordonLinoff 有什么建议吗?
-
。 .我有点希望你会想“哦,触发器,这太复杂了”。从文档开始:dev.mysql.com/doc/refman/5.7/en/trigger-syntax.html.
-
这听起来很复杂,因为我认为这很简单,但@bill 说触发器不会与自动增量一起使用。嗯,我应该放弃这个想法吗?