tim*_*tim 6 php mysql sql database insert
我不是全新的SQL,但是生锈并且与MYSQL(使用PhPMyAdmin)斗争......看着这个:MySQL插入多个表(关系) 和一些其他相关主题,但没有找到答案.我正在简化我的例子来说明问题.
如果你有两个表:
'table1' has: id (primary key, auto-increment), description (text)
'table2' has: id (primary key, auto-increment), title (text), description_id (int)
Run Code Online (Sandbox Code Playgroud)
如何创建一个单独的INSERT语句,以便description_id存储值table1.id?
我知道有php方法可以做2个查询,但是我想在SQL中完成所有这些,必须有办法吗?我应该以不同方式设置表格吗?我读了一些关于外键的东西,不知道这是否适用.
谢谢!
感谢@hackattack,谁发现了这个?回答已经在别处.
BEGIN
INSERT INTO users (username, password)
VALUES('test', 'test')
INSERT INTO profiles (userid, bio, homepage)
VALUES(LAST_INSERT_ID(),'Hello world!', 'http://www.stackoverflow.com');
COMMIT;
Run Code Online (Sandbox Code Playgroud)
但是,阿拉斯 - 这没用. MySQL 5参考显示它略有不同的语法:
INSERT INTO `table2` (`description`)
VALUES('sdfsdf');# 1 row affected.
INSERT INTO `table1`(`table1_id`,`title`)
VALUES(LAST_INSERT_ID(),'hello world');
Run Code Online (Sandbox Code Playgroud)
而且,看哪 - 这有效!
更麻烦的是
虽然查询将在phpMyAdmin中成功,但我的PHP安装会抱怨查询并引发语法错误.我使用php方式并进行2次单独的查询和使用mysql_insert_id()
我发现这很烦人,但我想这不比服务器负载少得多.
| 归档时间: |
|
| 查看次数: |
6177 次 |
| 最近记录: |