tbl_account
username | password | status
tbl_data
username | name | address | phone
如何用php将数据插入两个表? 我尝试了查询
INSERT INTO tbl_account(username, password, status)
OUTPUT INSERTED.'bobo', 'Bobo Ali','Markt St. 26', '0979877'
INTO tbl_data(username, name, address, phone)
VALUES ('bobo','bobo123','manager');
但它根本不起作用。这个过程很成功,但表格仍然是空的。
答案 0 :(得分:2)
您需要单独的查询才能将相同的数据插入多个表格。
如果您遇到问题,过程很简单:
代码:
<?php
INSERT INTO tbl_account(username, password, status)
VALUES ('bobo', 'Bobo Ali','Markt St. 26', '0979877');
// Free the result here
INSERT INTO tbl_data(username, name, address, phone)
VALUES ('bobo','bobo123','manager');
// Free the result again, so you can use the query again if needed
?>
答案 1 :(得分:1)
使用交易。像示例中那样更改数据库并生成userid主键(自动增量)
tbl_account
userid | username | password | status
tbl_data
userid | username | name | address | phone
BEGIN;
INSERT INTO tbl_account(username, password, status)
VALUES ('bobo','bobo123','manager');
INSERT INTO tbl_data(username, name, address, phone)
VALUES(LAST_INSERT_ID(),'bobo', 'Bobo Ali','Markt St. 26', '0979877');
COMMIT;
如果你想要一个php-MySQL(事务)实现的例子,请查看这个例子。 PHP + MySQL transactions examples
答案 2 :(得分:0)
您只能进行2次单独查询
INSERT INTO tbl_account(username, password, status)
VALUES ('bobo', 'Bobo Ali','Markt St. 26', '0979877)'
Insert INTO tbl_data(username, name, address, phone)
VALUES ('bobo','bobo123','manager');
答案 3 :(得分:0)
是的,您需要有两个单独的查询。 但答案有点误导,因为表tbl_account只有三列,而提供的代码插入四列的值。
所以它应该是:
INSERT INTO tbl_account(username, password, status)
VALUES ('bobo','bobo123','manager');
INSERT INTO tbl_data(username, name, address, phone)
VALUES ('bobo', 'Bobo Ali','Markt St. 26', '0979877');
或者您可以编写这两个插入的程序。