php - MYSQL 用 select 插入值
问题描述
我正在尝试插入这样的值:
$sql = "INSERT INTO daily_food (number, weight, title, price) VALUES ('1', SELECT weight, title, price FROM food where title = '$add_food' LIMIT 1)";
mysqli_query($conn, $sql);
我有我正在选择的食物的数据库。我也想插入那个数字,但代码什么也没做。我是 sql 新手,所以我无法弄清楚代码的外观。
解决方案
只需使用insert . . . select
,values
不是必需的:
INSERT INTO daily_food (number, weight, title, price)
SELECT 1, weight, title, price
FROM food
WHERE title = '$add_food'
LIMIT 1;
我假设这number
确实是一个数字,所以不需要引号。
此外,您应该$add_food
作为参数传入,如下所示:
INSERT INTO daily_food (number, weight, title, price)
SELECT 1, weight, title, price
FROM food
WHERE title = ?
LIMIT 1;
推荐阅读
- python - 在 Windows 上使用 PySide/PyQT 移除 QPushButton 周围奇怪的一像素空间
- c# - 如何在 C#(移动应用程序)中从另一个类调用变量
- java - JHipster with vue - 如何在前端显示来自后端的数据
- python - 解析 JSON - print 有效,但 append 无效
- c# - 正确使用 503(服务不可用)状态码的方法
- python - 在函数上使用 getattr
- vue.js - 如何修复 vue-jest 错误 - SyntaxError: Unexpected token 'export'
- mysql - AES_ENCRYPT 是否会导致 Mysql 中的复制出现问题?
- c# - MSB4018 “GenerateServiceWorkerAssetsManifest”任务意外失败
- javascript - BOOTSTRAP FULL CALENDAR EVENTLIMIT:如何通过展开一天的块而不是弹出窗口来显示所有项目