仅使用素数自动生成主键的值

时间:2018-02-12 13:40:47

标签: mysql

我想为带有素数的主键创建一个自动生成的值。

例如,我有这个表id是主键:

tags_table:

   id | name
    ---------
    2  | some_text
    3  | some_text
    5  | some_text
    ...
    997| some_text

当插入新行时,它将获得id的下一个素数。

有没有办法在mysql或任何其他RDBMS中实现这一点?如果是这样如何

1 个答案:

答案 0 :(得分:1)

我最近answered有关如何在插入期间更改值的问题。关键是使用triggers由于您已标记 componentWillMount() { const contractorId = parseInt(this.props.match.params.contractorId, 10); this.setSharedCompany(contractorId); this.loadContractorInfo(contractorId); } componentWillReceiveProps(nextProps) { const newContractorId = parseInt(nextProps.match.params.contractorId, 10); if (this.props.match.params.contractorId !== nextProps.match.params.contractorId) { this.setSharedCompany(newContractorId); } } setSharedCompany(contractorId) { const { sharedInfo, setCompany } = this.props; if (typeof contractorId === 'number') { if (!sharedInfo || !sharedInfo.currentCompany || !sharedInfo.currentCompany.id || sharedInfo.currentCompany.id !== contractorId) { setCompany(contractorId); } } } loadContractorInfo(contractorId) { const { sharedInfo, getContractorInfo, busy } = this.props; if (!busy && sharedInfo && sharedInfo.currentCompany && sharedInfo.currentCompany.id === contractorId) { getContractorInfo(contractorId); } } render() { /*render lots of things here*/}; const mapStateToProps = (state) => { const selector = state.contractor.details; return { sharedInfo: state.sharedInfo, details: selector.info, error: selector.request != null ? selector.request.error : null, busy: selector.request && selector.request.busy, }; }; const mapDispatchToProps = dispatch => ({ getContractorInfo: contractorId => dispatch(getContractor(contractorId)), setCompany: contractorId => dispatch(setSharedinfoCurrentCompany(contractorId, 'contractor')), }); export default connect(mapStateToProps, mapDispatchToProps)(ContractorHome); ,因此使用此链接。

根据设计,您不能仅使用Prime数字进行自动增量。您必须自己创建值。

执行此操作的示例方法是:

mysql