php和mysql唯一串行

php和mysql唯一串行,php,mysql,Php,Mysql,可能是个简单的问题,但我必须知道这一点 假设我的表中有一列,我需要将唯一编号存储为序列号。结构如下所示 +-------------------------------------+ |id | year | serial | +-------------------------------------+ |1000 | 2013 | | +-------------------------------------

可能是个简单的问题,但我必须知道这一点

假设我的表中有一列,我需要将唯一编号存储为序列号。结构如下所示

+-------------------------------------+
|id         |    year        | serial |
+-------------------------------------+
|1000       |   2013         |        |
+-------------------------------------+
|1001       |   2013         |        |
+-------------------------------------+
id(不是自动递增的)年份是从web表单传递的

记录创建期间,我希望序列列的结果(id+年份+记录的确切创建时间

问题1: 可以这样创建吗

问题2:
假设id和年份是从web表单中获取的,并且我上传了包含1000条记录的csv文件(可能在交易中)
,序列是否仍然是唯一的?

是的,您可以使用以下代码:

第一步。从数据库最后一个id获取数据

$result = $conn -> query("SELECT ag_id FROM ag_reg ORDER BY ag_id DESC LIMIT 1");
第二步。现在增加fetch,并使用+1添加最后一个id,并将其保存到数据库中

    $row = $result -> fetch_assoc();
    $id_value = $row['ag_id'];
    $new_id_value = $id_value + 1;

那么问题是唯一id本身?你不确定它是否是独一无二的?问题1-是的,这应该是可能的,至少如果你在php中这样做(在mysql端也很可能这样做)。问题2,这将取决于你的csv文件中的数据,如果你在csv文件中有重复的数据,那么不,它不会是唯一的您可能想考虑如何生成ID,这样才能确保不获取重复的值。如果不告诉我们你是如何生成数据的,很难给你一个更具体的答案。@Andrew yes,我不确定如果我这样做,它们是否是唯一的,但我所需要的是它们是唯一的unique@Epodax我的csv数据将具有唯一的id您可以使用类似以下内容的
md5(uniqid(rand(),true))
作为唯一的id,但它并没有任何特殊的意义,但已经足够了。但是用自动递增设置
id
列要容易得多。只要告诉他使用自动递增保存最后一个id,他就可以从正面递增!!