1

私と一緒に考えて、それが可能かどうか教えてください:

次のような単純な削除ステートメントがあるとします。

<?php
$con=mysqli_connect("localhost","root","admin","inventarisdb");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

if (!mysqli_query($con,"DELETE FROM BCD WHERE LastName='Griffin'");
{
echo "Succesfully Deleted <br/> ";
echo "<a href='Reports.php'>View Result</a>";
 }
mysqli_close($con);
?>

このステートメントは、指定された Lastname に一致するテーブル行内のすべてを削除します。すごい!でも今:

Ur テーブルが頻繁に更新され、名前が追加され、U が同じ LastName でさらに多くのエントリを取得するとしますが、U はそれらすべての行をこの LastName で削除したくないとします。

LastName の変数が編集可能または変更可能になるような方法で Delete ステートメントを作成することは可能ですか? たとえば、LastName を Age に変更したり、代わりにテーブルにある他の変数を使用して削除を実行したりできますが、php スクリプトで変更する必要はありませんが、単にアプリ。ページ自体。

したがって、そのようなコードで実行するアクションは、このアプリの [削除] タブに移動し、使用する変数を変更して、たとえば入力またはドロップダウン リストを使用して削除を検索し、最終的に削除を押します。実行する。

例えばこんなことを考えています。

 if (!mysqli_query($con,"DELETE FROM persons WHERE (variable)='<a href: Select2Delete.php>'");

そのため、削除するために検索したいテーブルの列に対応する変数を入力することができます。

私は@チェックボックスと自動インクリメント、およびこれを別の方法で行う方法を探してきましたが、最初に検索するテーブルを設定する必要がある場合と比較して、スクリプトを機能させる簡単な方法だと思うので、これが可能かどうかを最初に知りたいですデータを削除し、ボックスを選択して削除を実行するための If ステートメントのロードを含む削除ボタン付きのチェックボックスを追加します。

アドバイス、コメント、コメントなんでも大歓迎です!これは私が共有したい純粋な考えであり、あなたの意見を聞きたいです!

よろしくお願いします!このフォーラムに乾杯!

4

3 に答える 3

0

IDである必要はありませんが、これらの種類の更新、削除だけでなく、他のテーブルのデータと一致したり、クエリを選択したりするためにも一意のキーが必要です。あなたも述べたように、姓は一意のキーには適していません。重複がある可能性があります。mary-bennett | のように、レコードごとに一意の文字列キーを作成できます。メアリー・ベネット1 | メアリー・ベネット2 ...

ただし、削除クエリを実行しているときにレコードが追加されることを恐れている場合は、そうはなりません。タスクを完了する前に、SQL が他のユーザーに応答することはありません。

于 2013-08-23T10:59:35.167 に答える
0

IDに慣れる必要があります。
私が作成するほとんどすべてのテーブルには、主キーと自動インクリメントを持つ Int 列があります。
そうすれば、誤って複数の行を削除するというトラブルに巻き込まれることはありません。

それでもやりたい場合は、Architact の投稿をご覧ください。

于 2013-08-23T10:53:32.963 に答える