php - Mysql有唯一记录键吗?

标签 php mysql

我有一个简单的管理员,我正在为使用 PHP 和 Mysql 的客户端创建。任何时候我想编辑或删除记录时,我都必须在查询中发送表名和记录的唯一索引(我称之为索引的自动递增字段)。这很好,除了传递一个表参数似乎是多余的,如果 Msyql 为特定数据库中的每条记录生成它自己的唯一索引。

谁知道有没有这样的东西?

推理:

我正在制作一个包含(对于本示例)两列的管理表。一列有标题,另一列有删除按钮。为了构建此表,我查询了一个名为 inventory 的表:

$query = "SELECT * FROM `inventory`";
$results = mysql_query($query);
$table = 'inventory';
$returnString = '
    <table>
        <tr>
            <th>Title</th>
            <th>Command</th>
        </tr>
    ';

while($data = mysql_fetch_assoc($results)){
    $returnString .='
        <tr>
            <td>' . $data['title'] . '</td>
            <td><input type="button" value="delete" onclick="remove_record(' . $data['index']. ',\'' . $data['table'] . '\')" />
        </tr>';
}

$returnString .='</table>';

return $returnString;

所以,没关系。它工作正常,除了我很高兴不通过我的 javascript 函数发送两 block 数据(索引和表名),通过我的表单处理程序返回通过我的查询返回我从原始查询生成的数据。

如果有某种对记录的全局引用,那就太好了,这样我就可以创建一个函数,从我的数据库中的任何地方删除一条记录。

最佳答案

据我所知,MySQL 不会为数据库中创建的每条记录创建明确的唯一 ID(例如全局 guid)。我也不认为它存在意义,因为这项工作已经通过在每个表中创建主键来完成。

表名和该表的主键的组合记录的唯一值,因为数据库中没有其他记录可以保存该表的主键。

我无法理解这个问题背后的原因。如果您需要在单独的表中存储对特定记录的引用,那么您应该在另一个表上添加外键约束以引用第一个表的主键。

关于php - Mysql有唯一记录键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5615739/

相关文章:

php Spreadsheet_Excel_Reader 数据插入 mysql 数据库时包含不需要的 �

php - 使用 CodeIgniter Active Record 选择行

javascript - 在加载下一页时保持网站事件

php - 将数据库行放入关联数组的简单方法

PHP session_start();

php - php 中的 MySQLdump 导出 0 大小

python - cc1 : error: unrecognized command line option "-Wno-null-conversion" within installing python-mysql on mac 10. 7.5

php - 检查用户名和密码后重定向 ajax 调用

php - 在php中制作加法表和乘法表。

php - Laravel SSL 与 MySQL 的连接无法正常工作