我想要得到lastInsertId()
方法输出行号2为000002那样。我应该怎么做?如果是选择声明,我可以通过LPAD()
得到它。但在这种情况下,它是如何完成的?用左填充获取lastInsertId PHP MYSQL
回答
如果你想从MySQL查询得到它,你可以参考下面的语句:
SELECT
LPAD(columnname, length(columnname),'00000')
FROM
TABLENAME
ORDER BY
COLUMNNAME DESC LIMIT 1
对不起,我没有问LPAD选择命令,我已经知道它 – GRTZ
你可能会得到它从php中的mysql_insert_id()也可以参考:http://php.net/manual/en/function.mysql-insert-id.php –
你也可以使用str_pad函数来为特定的字符串添加填充。 –
如果你仍然在你已经在执行的INSERT
声明同MySQL的会话,你可以计算格式化最后插入的ID下面的表达式:
LPAD(LAST_INSERT_ID(), GREATEST(6, LENGTH(LAST_INSERT_ID())), '0')
这将前导零的返回值的ID,默认情况下总计为6个位数。它还会考虑id值是否超过6位数(这就是GREATEST(...)
的作用)。
您可以使用表达式选择格式化的最后一个ID,将其分配到MySQL变量:
SELECT LPAD(LAST_INSERT_ID(), GREATEST(6, LENGTH(LAST_INSERT_ID())), '0');
SET @myId = LPAD(LAST_INSERT_ID(), GREATEST(6, LENGTH(LAST_INSERT_ID())), '0');
你也可以用它在其他语句,但请注意,LAST_INSERTED_ID()
将经过进一步INSERT
声明的更改。
你也可以在PHP中使用从MySQL返回最后插入的ID,并有格式化:
$formattedId = sprintf('%06d', lastInsertId());
的sprintf
将默认的ID扩展到6个位数,但也将更长IDS工作。
- 1. PHP MySQL的lastInsertID
- 2. 使用php + mysql填充morris.js
- 3. PHP GD imagefill - 区域填充到左源
- 4. LastInsertId PHP
- 5. 填充左取决于subnav深
- 6. 使用PHP和MySQL填充Flex 4.5 DataGrid
- 7. 使用查询自动填充php mysql
- 8. slickgrid使用PHP和Mysql填充数据
- 9. 使用PHP/MySQL填充JavaScript数组
- 10. 用php mysql填充选择框
- 11. 使用ajax php和mysql自动填充
- 12. 使用lastInsertId()值填充另一个表中的列
- 13. 使用sprintf填充左侧的时间?
- 14. PHP MySQL PDO lastInsertID导致致命错误
- 15. PHP - loop&lastInsertId()
- 16. 使用php填充表
- 17. 获取ProgressBar来填充StatusBarItem
- 18. 获取控件的“填充”
- 19. JSON填充用PHP
- 20. 如何获得XML填充使用PHP
- 21. LinearLayout从右到左填充
- 22. 删除TabLayout左右填充
- 23. 页面左侧的填充
- 24. 信息框填充左
- 25. Reg Ex左填充零点
- 26. wpf删除datagrid左填充
- 27. 从左到右填充Div
- 28. JList左附和填充
- 29. 左侧的NSTextField填充
- 30. Button.setCompoundDrawablesWithIntrinsicBounds()的左/右填充?
要么在php中格式化,要么不要调用pdo wrapper,而是按照你想要的方式直接选择它 - 在mysql函数中必须始终插入返回值,pdo只是为了方便而隐藏。 [LAST_INSERT_ID手册](https://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_last-insert-id) – jkavalik
那么我应该如何修改它与PHP – GRTZ
使用str_pad上返回的值from lastInsertId() – jkavalik