假设我有两个表,names并且phones
我想将一些输入的数据插入到表中,在一个查询中 - 如何才能完成?
如果可以,请解释语法.
我不是全新的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中完成所有这些,必须有办法吗?我应该以不同方式设置表格吗?我读了一些关于外键的东西,不知道这是否适用.
谢谢!
可能重复:
MySQL插入多个表?(数据库规范化?)
我试图使用PDO将我的记录插入2个表,我有以下内容
try {
// Connect and create the PDO object
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
$conn->exec("SET CHARACTER SET utf8"); // Sets encoding UTF-8
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO `directory` (`First_Name`,`Surname`,`Nicknames`)
VALUES (:firstname, :surname, :nicknames) ";
$statement = $conn->prepare($sql);
$statement->bindValue(":firstname", $firstname);
$statement->bindValue(":surname", $surname);
$statement->bindValue(":nicknames", $nicknames);
$count = $statement->execute();
$conn = null; // Disconnect
}
catch(PDOException $e) {
echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
将我的数据插入1表中,如果我使用(我认为是什么),但是我的页面没有呈现并且没有输出源代码?任何人都可以看到我在哪里出错了吗?
try {
// Connect and create the PDO object
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, …Run Code Online (Sandbox Code Playgroud) 我正在尝试学习如何BEGIN ... COMMIT在SQLite中使用.我正在尝试这段代码:
BEGIN
INSERT INTO fields VALUES ('field1')
COMMIT;
Run Code Online (Sandbox Code Playgroud)
但它失败了
Error: near "INSERT": syntax error
Run Code Online (Sandbox Code Playgroud)
仅使用insert语句时,它会成功,但是:
INSERT INTO fields VALUES ('field1');
Run Code Online (Sandbox Code Playgroud)