我怎么能用php和mysqli进行查询,删除整个表然后添加新表我有一个接收数据的表单,但在添加新数据之前,我想从表中删除所有数据。 />
$ oConni是我的连接字符串
$cSQLt = "TRUNCATE TABLE approved";
$cSQLi = "INSERT INTO approved (ID_STUDENT, YEAR, APPROVED)
VALUES (
'" . $_POST['NSTUDENT'] . "',
'" . $_POST['YEAR'] . "',
'YES'
)";
$oConni->query($cSQLt);
$oConni->query($cSQLi);
答案 0 :(得分:2)
您可以通过发出TRUNCATE语句从MySQL表中删除所有内容:
TRUNCATE TABLE approved;
..通常与
相同DELETE FROM approved;
..但是有一些小差异,you can read about in the documentation。
在您粘贴的代码中,请use prepared statements以避免SQL注入攻击。切勿在查询中直接使用未经过滤的POST数据!
如果您想将此作为触发器,我们需要了解您的数据处理方面的更多信息。在INSERT之前发出TRUNCATE通常会导致表中只有一行可用,这似乎是实际使用表的一个奇怪的用例。
答案 1 :(得分:1)
您可以使用TRUNCATE TABLE然后使用下一个查询:
$cSQLt = "TRUNCATE TABLE CALIFICA_APTO";
$cSQLi = "INSERT INTO approved (ID_STUDENT, YEAR, APPROVED)
VALUES (
'" . $_POST['NSTUDENT'] . "',
'" . $_POST['YEAR'] . "',
'YES'
)";
$Connect->query($cSQLt);
$Connect->query($cSQLi);
答案 2 :(得分:0)
如果您要删除表格中的所有数据,请使用TRUNCATE:
TRUNCATE TABLE approved
然后你可以做你的SQL语句。
注意:这会删除表中的所有数据,因此要小心!此外,您的数据库用户必须能够截断表。