我目前正致力于iOS应用程序,它使用MySQL作为rdbms和xampp作为Web服务器在UITableView中填充视频。我在MySQL表中插入URL时遇到困难。为了更清楚,我在表中有3列,即NewID,NewsTitle和NewsVid。当我通过查询插入URL时,例如:
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today's news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))
错误提示"#1048 - 列' NewsVid'不能为空"
希望为我提供指导,以便在我学习的过程中解决这些问题。
答案 0 :(得分:1)
首先 - 你的SQL命令中有未转义的char '
- 这里:'Today's news'
:
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today's news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))
^ HERE
将您的SQL编辑为(您需要使用反斜杠'
转义\
):
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today\'s news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))
基于评论的更新:
然后您可以尝试仅存储数据库中的文件链接,而不输出LOAD_FILE函数。因此,您更新的命令将如下所示:
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today\'s news', 'Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4')
当您从数据库中读取数据时,可以使用LOAD_FILE,如:
// DB CONNECT
// DB READ DATA
LOAD_FILE($row['NewsVid']);