Pregunta

suponiendo que tengo dos tablas, names y phones y quiero insertar datos de alguna entrada a las tablas, en una query- ¿Cómo puede hacerse esto?

Por favor, si se puede hacer, explicar la sintaxis.

¿Fue útil?

Solución

MySQL no soporta la inserción de varias mesas en una sola instrucción INSERT href="http://dev.mysql.com/doc/refman/5.1/en/insert.html" . Oracle es el único que soy consciente de que lo hace, por extraño ...

INSERT INTO NAMES VALUES(...)
INSERT INTO PHONES VALUES(...)

Otros consejos

No se puede. Sin embargo, se puede utilizar un transacción y han ambos estar contenido dentro de una transacción.

START TRANSACTION;
INSERT INTO table1 VALUES ('1','2','3');
INSERT INTO table2 VALUES ('bob','smith');
COMMIT;

http://dev.mysql.com/doc/refman/ 5.1 / es / commit.html

Yo tenía el mismo problema. Lo resuelvo con un bucle.

Ejemplo:

Si quiero escribir de 2 idénticos mesas, utilizando un bucle

for x = 0 to 1

 if x = 0 then TableToWrite = "Table1"
 if x = 1 then TableToWrite = "Table2"
  Sql = "INSERT INTO " & TableToWrite & " VALUES ('1','2','3')"
NEXT

cualquiera

ArrTable = ("Table1", "Table2")

for xArrTable = 0 to Ubound(ArrTable)
 Sql = "INSERT INTO " & ArrTable(xArrTable) & " VALUES ('1','2','3')"
NEXT

Si usted tiene una pequeña consulta no sé si esta es la mejor solución, pero si la consulta es muy grande y es dentro de un script dinámico con IF / condiciones de casos / else esta es una buena solución.

Varias sentencias SQL se debe ejecutar con el , función mysqli_multi_query().

Ejemplo (MySQLi orientada a objetos):

    <?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO names (firstname, lastname)
VALUES ('inpute value here', 'inpute value here');";
$sql .= "INSERT INTO phones (landphone, mobile)
VALUES ('inpute value here', 'inpute value here');";

if ($conn->multi_query($sql) === TRUE) {
    echo "New records created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top